3.5.2. OProfile

OProfile ( oprofile ) é uma ferramenta de monitoramento de desempenho de todo o sistema. Ele usa hardware dedicado de monitoramento de desempenho do processador para obter informações sobre o kernel e do sistema de arquivos executáveis, como quando a memória é referenciada, o número de pedidos do cache L2 e o número de interrupções de hardware recebido. Também pode ser utilizado para determinar a utilização do processador, e as aplicações e serviços que são mais utilizadas.
Oprofile também pode ser usado com o Eclipse via Oprofile Eclipse plug-in. Este plug-in permite aos usuários determinar facilmente as áreas mais demoradas de seu código, e executar todas as funções de linha de comando do OProfile com rica visualização dos resultados.
No entanto, os usuários devem estar cientes de diversas limitações do OProfile:
  • As amostras de controle de desempenho podem não ser precisas - porque o processador pode executar instruções fora de ordem, uma amostra pode ser gravada a partir de uma instrução próxima, ao invéz da instrução que gerou a interrupção.
  • Como o OProfile é todo o sistema e espera que os processos iniciem e parem várias vezes, amostras de várias execuções são autorizadas a acumular. Isso significa que você pode precisar limpar os dados da amostra de execuções anteriores.
  • Ele se concentra na identificação de problemas com os processos de CPU-limitados e, portanto, não identifica os processos que estão inativos enquanto esperam em bloqueios para outros eventos.
Para mais informações sobre como utilizar o OProfile, consulte o Guia de Implementação, disponível em http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/, ou a documentação oprofile em seu sistema, localizada em /usr/share/doc/oprofile-<version>.