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

18

J'ai un serveur domestique fonctionnant parfois à un taux d'utilisation élevé du processeur d'environ 50 à 70 pour cent.

Dans htop, mon gestionnaire de processus préféré, je peux trier les processus par utilisation du processeur, mais souvent, aucun processus ne consomme plus de 0% de processeur. De l'autre côté, htopaffiche 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 qu'il y a des processus cachés? Mais même l'exécuter en tant que root n'affiche pas plus de processus.

ÉDITER:

J'ai examiné top, qui montre (au moins) deux autres processus:

  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 train de se resynchroniser, ce qui a été confirmé lorsque je l'ai affiché /proc/mdstat. (Voir le premier commentaire.)

Cela transforme donc la question en: "Pourquoi htop n'affiche-t-il pas les mêmes processus que top?"

leèmes
la source
topmontre plus de processus. Le processus en question appartient à mdadm, qui effectue actuellement une resynchronisation comme je l'ai découvert. topmontre le processus sous le nom md127_raid5et md127_resync. Le premier fonctionne depuis le démarrage du système, le second depuis le déclenchement de la resynchronisation. Cela transforme donc la question en: "Pourquoi htop n'affiche-t-il pas les mêmes processus que top?"
leemes

Réponses:

19

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

Parce que htopcache les threads du noyau par défaut, contrairement à top. Vous pouvez désactiver cette option dans F2-settings in htop.

  1. Avant:

    entrez la description de l'image ici

  2. Décochez le paramètre Masquer les threads du noyau , appuyez sur Escpour quitter l'écran au lieu de F10.

    entrez la description de l'image ici

  3. Notez le nouveau nombre de kthr(kthreads) au niveau du curseur et tous les nouveaux k...processus qui se sont présentés. Vous pouvez les trier par CPU, etc. comme d'habitude. Outre le nom (commence par un k , a un /vers la fin), vous pouvez également identifier les threads du noyau par leurs PID très bas (notez les 1, 2, 3 ... 17 dans la capture d'écran?)

    entrez la description de l'image ici

ish
la source
Merci beaucoup. C'est quelque chose que je voulais savoir depuis des années! Et la solution est si simple ... Merci pour les jolies captures d'écran :)
leemes
1
Le raccourci clavier est H (shift + h).
glebm
2
@glebm (tard, mais je pense qu'il vaut la peine d'ajouter;)): Le raccourci clavier pour afficher les threads du noyau est K(Shift + k). Le raccourci clavier H(Maj + h) affiche (ou masque, s'il est déjà affiché) les threads de l' espace utilisateur .
Henning Kockerbeck du