Guia de Instalação e Configuração do numactl no Linux

Guia de Instalação e Configuração do numactl no Linux

Visão Geral do Projeto

O numactl é uma ferramenta essencial para sistemas Linux que oferece suporte ao gerenciamento de políticas de NUMA (Non-Uniform Memory Access). Este pacote contém dois componentes principais:

  • numactl: Programa executável que permite especificar políticas NUMA específicas ao rodar outros programas
  • libnuma: Biblioteca compartilhada que fornece uma API para que aplicações possam definir e controlar políticas NUMA internamente

A biblioteca libnuma mantém compatibiildade binária entre versões, utilizando números de versão de símbolos para rastrear alterações incompatíveis. O pacote também inclui utilitários auxiliares como numastat para visualização de estatísticas de alocação NUMA e memhog para testes de pressão de memória.

Obtenção do Código-Fonte

O código-fonte do projeto está disponível no repositório GitHub oficial:

Repositório: https://github.com/numactl/numactl

Preparação do Ambiente

Antes de iniciar a instalação, é necessário garantir que o sistema possua as dependências requeridas. O processo de construção do numactl utiliza o sistema de build automático do GNU.

Dependências Necessárias

  • Sistema operacional: Linux
  • Compilador: GCC
  • Ferramentas de build: make, autoconf, automake, libtoool

Instalando as Dependências em Distribuições Debian/Ubuntu

sudo apt update
sudo apt install -y build-essential autoconf automake libtool

Instalendo as Dependências em Distribuições RHEL/CentOS/Fedora

sudo yum groupinstall -y "Development Tools"
sudo yum install -y autoconf automake libtool

Verificando a Instalação das Dependências

gcc --version
make --version
autoconf --version
automake --version
libtool --version

Procedimento de Instalação

Siga os passos abaixo para compilar e instalar o numactl a partir do código-fonte:

Passo 1: Clonar o Repositório

git clone https://github.com/numactl/numactl.git
cd numactl

Passo 2: Gerar Scripts de Configuração

./autogen.sh

Este comando gera automaticamente os arquivos de configuração necessários, incluindo o script configure.

Passo 3: Configurar a Compilação

./configure

O configure verifica o ambiente do sistema e prepara os Makefiles apropriados. Para personalizar o diretório de instalação, utilize a opção --prefix:

./configure --prefix=/usr/local

Passo 4: Compilar o Projeto

make

Passo 5: Instalar os Binários

sudo make install

Nota: Em sistemas com SELinux, pode ser necessário atualizar o cache de bibliotecas:

sudo ldconfig

Script de Validação da Instalação

Após a instalação, utilize o seguinte script para verificar se o numactl foi instalado corretamente:

#!/bin/bash

echo "=== Verificando instalação do numactl ==="

# Verifica se o executável está disponível
if command -v numactl &> /dev/null; then
    NUMACTL_PATH=$(which numactl)
    echo "✓ numactl encontrado em: $NUMACTL_PATH"
    numactl --version
else
    echo "✗ Erro: numactl não encontrado no PATH"
    exit 1
fi

# Exibe estatísticas NUMA do sistema
echo ""
echo "=== Estatísticas NUMA do Sistema ==="
numastat

echo ""
echo "=== Verificação Concluída ==="

Para executar o script:

chmod +x verificar_instalacao.sh
./verificar_instalacao.sh

Verificação Manual

Caso prefira verificar manualmente, execute os seguintes comandos:

# Verificar versão instalada
numactl --version

# Listar nós NUMA disponíveis
numactl --hardware

# Exibir estatísticas de memória por nó
numastat

Utilização Básica

Alguns exemplos de uso do numactl:

# Executar um programa em todos os nós disponíveis
numactl --interleave=all ./meu_programa

# Executar um programa em um nó específico
numactl --cpunodebind=0 ./meu_programa

# Alocar memória em um nó específico
numactl --membind=1 ./meu_programa

Com este guia, você possui todas as informações necessárias para baixar, compilar, instalar e validar o numactl em seu sistema Linux.

Tags: Linux numa performance libnuma memory-management

Publicado em 6-12 17:31 por Thomas