Como ponto de esclarecimento, a carga não está diretamente ligada à CPU. Esse é um dos equívocos mais comuns sobre carga. O fato de você mencionar disco parece reconhecer que você está ciente disso, mas eu só queria mencionar isso, pois vejo comentários que indicam alguns que acreditam de outra forma.
Carga é definida como o número de processos aguardando recursos do sistema. Isso geralmente é CPU, disco ou rede, mas pode ser realmente qualquer coisa de hardware.
Um "processo" também não é necessariamente um processo completo. Um segmento é definido como um "processo leve" e cada segmento que está aguardando aumenta a contagem de carga.
Para descobrir quais processos são um problema:
Executar top -H
( -H
habilita a exibição de threads)
Os atalhos do teclado variam de acordo com a versão.
Com a parte superior mais recente (3.3 e posterior):
Pressione fpara exibir as opções de campo.
Use as setas do teclado para acessar S = Process Status
e pressionar s.
Pressione qpara voltar à página principal.
Pressione Shift+ Rpara reverter a classificação.
Com o topo mais antigo (antes do 3.3):
Pressione Shift+ opara exibir as opções de classificação.
Depois, wpara classificar por status do processo.
Depois, Entervolte à página principal.
Então Shift+ Rpara reverter a classificação.
Em seguida, na S
coluna, procure processos que possuem D
ou R
(agora devem estar no topo). Estes serão processos que contribuem para a carga do sistema.
Se o processo mostrar um D
, isso significa "suspensão ininterrupta". Geralmente, isso é causado quando o processo está aguardando na E / S (disco, rede etc.).
Se o processo mostra a R
, isso significa que está apenas fazendo o cálculo normal.
Para saber mais sobre o que esses processos estão fazendo:
Com a parte superior mais recente (3.3 e posterior):
Pressione fpara exibir as opções de campo.
Use as teclas de seta para acessar WCHAN = Sleeping in Function
e pressione dpara habilitá-lo.
Depois, qvolte à página principal.
Com o topo mais antigo (antes do 3.3):
Pressione fentão ypara ativar o WCHAN
campo.
Se o seu sistema possui as opções necessárias do kernel e o arquivo wchan está presente no sistema (eu esqueço onde ele está e como é chamado) , o WCHAN
campo deve mostrar qual função do kernel o processo está executando no momento (se o campo mostrar apenas um -
ou ?
em tudo, você não tem suporte).
Um pouco do google aqui e você deve estar no seu caminho.
Se você não tem suporte, sempre pode experimentar strace
os processos para descobrir o que eles estão fazendo, mas essa é a maneira mais difícil.