Come punto di chiarimento, il carico non è direttamente collegato alla CPU. Questa è una delle idee sbagliate più comuni sul carico. Il fatto che tu menzioni il disco sembra riconoscere che ne sei consapevole, ma volevo solo menzionarlo mentre vedo commenti che indicano che alcuni credono diversamente.
Il carico è definito come il numero di processi in attesa di risorse di sistema. In genere si tratta di CPU, disco o rete, ma in realtà può essere qualsiasi hardware.
Neanche un "processo" è necessariamente un processo completo. Un thread viene definito come un "processo leggero" e ogni thread in attesa aumenta il conteggio del carico.
Per capire quali processi sono un problema:
Esegui top -H
( -H
abilita la visualizzazione dei thread)
Le scorciatoie da tastiera variano in base alla versione.
Con la parte superiore più recente (3.3 e successive):
Premere fper visualizzare le opzioni del campo.
Utilizzare i tasti freccia per andare a S = Process Status
e premere s.
Premere qper tornare alla pagina principale.
Premere Shift+ Rper invertire l'ordinamento.
Con la parte superiore più vecchia (prima della 3.3):
Premi Shift+ oper visualizzare le opzioni di ordinamento.
Quindi wper ordinare in base allo stato del processo.
Quindi Enterper tornare alla pagina principale.
Quindi Shift+ Rper invertire l'ordinamento.
Quindi nella S
colonna, cerca i processi che hanno D
o R
(dovrebbero essere ora in alto). Questi saranno processi che contribuiranno al caricamento del sistema.
Se il processo mostra a D
, significa "sonno ininterrotto". Di solito ciò si verifica quando il processo è in attesa su I / O (disco, rete, ecc.).
Se il processo mostra a R
, significa che sta facendo un normale calcolo.
Per saperne di più su cosa stanno facendo questi processi:
Con la parte superiore più recente (3.3 e successive):
Premere fper visualizzare le opzioni del campo.
Utilizzare i tasti freccia per andare a WCHAN = Sleeping in Function
e premere dper abilitarlo.
Quindi qper tornare alla pagina principale.
Con la parte superiore più vecchia (prima della 3.3):
Premere fquindi yper abilitare il WCHAN
campo.
Se il tuo sistema ha le opzioni del kernel necessarie e il file wchan è presente sul tuo sistema (ho dimenticato dove si trova e come si chiama) , il WCHAN
campo dovrebbe mostrarti quale funzione del kernel è attualmente in esecuzione (se il campo mostra solo un -
o ?
su tutto, non hai supporto).
Un po 'di Google qui e dovresti essere sulla buona strada.
Se non hai il supporto per wchan, puoi sempre provare strace
i processi per scoprire cosa stanno facendo, ma questo è il modo difficile.