web-dev-qa-db-fra.com

Pourquoi htop n'affiche-t-il pas les mêmes processus que top?

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?"

17
leemes

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.

  1. Avant:

    enter image description here

  2. Décochez la case Masquer les threads du noya, appuyez sur Esc quitter l'écran au lieu de F10.

    enter image description here

  3. 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?)

    enter image description here

17
ish