J'ai un serveur domestique qui fonctionne parfois avec un taux d'utilisation du processeur élevé d'environ 50 à 70 pour cent.
Dans htop
, mon responsable de processus favori, je peux trier les processus en fonction de l'utilisation du processeur, mais souvent, aucun processus ne consomme plus de 0% de processeur. De l'autre côté, htop
affiche l'utilisation totale du processeur du système, qui est d'environ 50%, comme indiqué précédemment.
Je suppose qu'il y a une explication facile à cela, mais je ne le sais pas.
Peut-être y at-il des processus cachés? Mais même l'exécuter en tant que root ne montre pas plus de processus.
EDIT:
J'ai examiné top
, qui montre (au moins) deux processus supplémentaires:
230 root 20 0 0 0 0 R 37.4 0.0 107:06.59 md127_raid5
20403 root 35 15 0 0 0 D 9.6 0.0 2:45.78 md127_resync
Donc, mon raid mdadm est en cours de resynchronisation, ce qui a été confirmé lorsque j'ai affiché /proc/mdstat
. (Voir premier commentaire.)
Donc, cela transforme la question en: "Pourquoi htop n’affiche-t-il pas les mêmes processus que top?"
Pourquoi htop n'affiche-t-il pas les mêmes processus que top?
Parce que htop
cache les threads du noyau par défaut, top non. Vous pouvez désactiver cette option dans F2-settings in htop
.
Avant:
Décochez la case Masquer les threads du noya, appuyez sur Esc quitter l'écran au lieu de F10
.
Notez le nouveau nombre de kthr
(kthreads) au niveau du curseur et tous les nouveaux processus k...
qui sont apparus. Vous pouvez les trier par CPU, etc. comme d’habitude. Hormis le nom (commençant par k, avec un /
vers la fin), vous pouvez également identifier les threads du noyau par leurs très faibles PID (notez que les 1, 2, 3 ... 17 dans la capture d'écran?)