Existe uma pergunta que é semelhante ao que eu quero saber aqui na falha do servidor:
Hoje recebi uma captura de tela de um de meus clientes. Ele não tinha ideia do que significava, então ele me enviou para explicar isso a ele. A imagem foi enviada pelo seu provedor de hospedagem. O site do meu cliente está lento, e eu acho que ele perguntou aos caras de hospedagem o porquê, então eles enviaram essa imagem para ele. A imagem parece ser uma captura de tela do comando principal e mostra que um arquivo ocupa 90% da CPU. Acho isso muito interessante e adoraria saber como fazer isso sozinho.
Como eu disse, a captura de tela parece ser o principal comando, mas quando corro o topo e coloco o servidor ocupado, não obtenho o mesmo tipo de resultado. Eu me certifico de que o script que eu executo consome alguma CPU com um loop infinito, mas tudo que consigo é o apache2 como o Comando que está usando a CPU, enquanto a captura de tela mostra:
/usr/bin/php /path/to/index.php
Esta é a aparência da captura de tela:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 username 16 -2 134m 26m 7528 R 98 0.2 00:00:50 /usr/bin/php /path/to/file.php
E o meu parece assim:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19632 www-data 20 0 44432 18m 3608 S 27.1 0.9 00:00:82 apache2
Observe como o deles mostra / usr / bin / php e o caminho para o arquivo que está abraçando a CPU, mas o meu mostra apenas o apache2, que realmente não me diz nada útil.
Eu sempre quis fazer esse tipo de coisa e descobrir qual arquivo está usando a CPU, agora, minha pergunta é: como eles fazem isso com o topo? Eu sei que posso usar um profiler, e na verdade, a pergunta que eu gostei acima tem duas boas sugestões, mas estou curioso para saber como eles fazem isso com o topo.
Obrigado antecipadamente.