A única maneira de diagnosticar um problema como este é com muitos e muitos dados. Familiarize-se com vmstat
e iostat
. Uma ferramenta que aprendi recentemente em este tópico é dstat
, que combina efetivamente os dois.
Para problemas como o que você está descrevendo, esse comando provavelmente seria útil:
$ dstat -M app -cdnygl
Ele informará sobre CPU, E / S (disco e rede), interrupções, troca e carga média. Como um pequeno bônus, incluirá o nome de qualquer processo que fosse "mais caro" no momento em que o instantâneo foi tirado. Infelizmente, esse comando em particular produz uma saída muito grande para colar aqui, então aqui está uma versão um pouco mais conservadora:
$ dstat -M app -cdn --most-expensive-- ----total-cpu-usage---- -dsk/total- -net/total- process |usr sys idl wai hiq siq| read writ| recv send bacula-fd 0| 1 0 98 0 0 0| 426k 108k| 0 0 bash 1| 2 2 96 0 0 0| 0 20k|1460B 1804B apache2 8| 4 2 94 0 0 0| 0 0 | 76k 15k | 1 3 96 0 0 0| 0 0 |1132B 1034B apache2 1| 2 2 96 0 0 0| 0 8192B| 11k 3895B | 2 1 96 0 0 0| 0 32k|3322B 1338B kipmi0 1| 2 2 96 0 0 0| 0 0 |1309B 1146B