Linux idéias de otimização de desempenho

Otimização de desempenho

otimização de desempenho do núcleo é identificar gargalos ponto do sistema, o problema é encontrado, a otimização do trabalho é feito metade; otimização do desempenho apresentado aqui principalmente para introduzir dois níveis: nível de sistema e nível de programa.

topo

Depois de entrar no modo interativo:

  • M de entrada, a lista de processo classificado por descendente uso de memória tamanho, para nós para observar o maior memória consumidores usam um problema (para detectar fugas de memória)
  • P de entrada, a lista de processos por tamanho uso da CPU em ordem decrescente, para nós para observar usuários que consomem a maioria dos recursos da CPU se houver problemas

A terceira linha de cima mostra o sistema actual, em que há dois valores críticos:

  • % Id: porcentagem de tempo ocioso da CPU, e se este valor for muito baixo, o sistema indica uma CPU gargalo
  • % Wa: à espera de O percentual de tempo de CPU I /, se este valor for muito alto, indicando a presença de IO gargalo
análise de gargalo de memória

Verifique se o gargalo de memória, usando o comando top para ver mais problemas, comando mais intuitivo e livre.

monitores de ferramentas superior a primeira ferramenta de linha livre todas as informações, mas a memória real disponível, você também precisa saber a sua própria computação; a memória do sistema real disponíveis para a saída ferramenta gratuita da segunda linha livre + tampão + em cache.

Se é por causa de falta de memória, resposta do sistema lento, obviamente, porque torna a paragem do sistema fazendo trocados fora do trabalho.

análise IO gargalo

Se o gargalo de desempenho IO, top ferramenta% wa será elevado.

  • Se o valor de% iowait demasiado elevado, indica a presença dos gargalos de I / O de disco rígido
  • Se% util perto de 100%, indicando que o pedido de I gerada / também, I / O sistema tem sido com a capacidade máxima, o disco pode ser um gargalo
  • Se svctm perto de aguardar, para I / O é quase nenhum tempo de espera
  • Se o svctm esperam muito maior do que, para I / O fila é muito longa, de resposta muito lenta IO é necessário optimizar a necessária
  • Se avgqu-sz relativamente grande, também disse que não há um monte de espera de io
chamadas processo de análise

pstack 和 pstrace.

pstack usado para rastrear a pilha de processo, este comando é útil ao solucionar problemas do processo, como nós achamos que um serviço tem estado em situação de trabalho (como animação suspensa, como um loop infinito), use este comando pode facilmente localizar o problema, você pode ao longo de um período de tempo dentro, executá-lo várias vezes pstack, se pilha de código encontrado é sempre estacionado no mesmo local, esse local terá de se concentrar, é provável dar errado.

Strace usado para rastrear e processar a chamada de sistema; chamada de sistema e o sinal recebido quando a ferramenta pode ser executada processo de rastreamento dinamicamente. É muito eficazes ferramentas de detecção, orientação e depuração. Os administradores de sistema podem facilmente resolver o problema, o comando do programa.

gprof usar as etapas
  • Por gcc, g ++, quando o compilador xlC usando parâmetros -PG, tais como: g ++ -pg -o test.exe test.cpp compilador inserido automaticamente no fragmento de código de objecto para o teste de desempenho, o código de programa é executado quando a relação entre as funções de recolha e de chamada e número de chamadas e registra o tempo de execução do tempo de execução da própria função e a função chamada.
  • Depois de compilar uma execução programa executável, tais como: test.exe ./. Runtime programa executável tempo desta etapa em execução será um pouco mais lento do que uma compilação normal. Após a corrida, onde o programa é gerado no caminho de arquivo padrão para um arquivo chamado gmon.out deste documento é para gravar o desempenho do programa está em execução, ligue para o relacionamento, chamar as informações do arquivo de dados, como número de vezes.
  • Use gprof comando para analisar as informações do arquivo gmon.out registro de execução, tais como: gprof test.exe gmon.out você pode ver no visor as estatísticas de chamadas relacionadas com a função, informações de análise. A informação acima pode ser usado gprof test.exe gmon.out> gprofresult.txt redirecionado para um arquivo de texto para análise posterior.
outras ferramentas
  • valgrind
  • OProfile
  • sar

Para ser aprendida. . .

Publicado 162 artigos originais · ganhou elogios 7 · vê 30000 +

Acho que você gosta

Origin blog.csdn.net/LU_ZHAO/article/details/104950768
Recomendado
Clasificación