O comando perf no Linux é uma ferramenta de análise de desempenho que fornece informações sobre o desempenho do sistema e dos aplicativos rodando no sistema.
Mais informações podem ser encontradas no site de Brendan.
Neste post vamos descrever uma das opções deste comando denominada perf-sched.
perf sched é um subcomando projetado para analisar e monitorar o comportamento do agendador (scheduler) Linux. Ele fornece informações sobre como o agendador está lidando com tarefas, o que pode ser crucial para diagnosticar problemas de desempenho relacionados ao agendamento de tarefas, uso da CPU e latência do sistema. Seus principais recursos são:
Gravação de eventos do agendador: Captura vários eventos relacionados ao agendador, como mudanças de contexto, migrações de tarefas e latência de agendamento.
Repetição e visualização: Permite a reprodução de eventos registrados do agendador para visualizar a execução de tarefas e compreender o comportamento do agendamento ao longo do tempo.
Análise de Latência: Mede e relata latências de agendamento, ajudando a identificar tarefas que estão enfrentando altas latências ou que estão sem tempo de CPU.
Instalação da ferramenta no Ubuntu 22
Existe uma opção para instalação do perf utilizando apt.
Você irá utilizar o comando mostrado abaixo:
apt -y install linux-tools-common linux-tools-generic linux-tools-`uname -r`
perf-sched
Contudo existe um problema. Nesta versão do perf disponível no repositório do apt, o subcomando sched não existe. Para isto precisamos compilar uma nova versão de perf. A sequência de comandos abaixo para fazer isto.
Primeiro vamos instalar algumas dependências:
apt -y update
apt -y install libelf-dev and libtraceevent-dev
apt -y install flex bison
apt -y install linux-source
Criamos um local para compilar o código. A variável DIR na linha abaixo define o local. Você pode trocar para qualquer outro local que você desejar. Note que o fonte é baixado pelo apt (última linha do bloco de comandos acima) no diretório /usr/src/ compactado com bz2.
DIR=$HOME/linux-source
mkdir -p $DIR
cd $DIR
tar -xf /usr/src/linux-source*.bz2
cd linux-source-*
Vamos preparar para a compilação utilizando a configuração do sistema atual e executando o make:
cp /boot/config-$(uname -r) ./.config
make oldconfig
Note que make vai te pedir um monte de informações. Normalmente aceitar a opção default para cada uma delas funciona bem para a compilação do perf-sched.
Finalmente, compilamos o código:
cd tools/perf
make prefix=$DIR/install install
Após a execução destes comandos, os executáveis são criados no diretório $DIR/install/bin.
Você precisará alterar o PATH para adicionar este diretório, ou mover os arquivos para outros locais no PATH atual.
Você pode testar o resultado com:
cd $DIR/install/bin
./perf sched record -- sleep 10
./perf sched latency
Comentários
Postar um comentário