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.