Warum zeigt "htop" mehr Prozesse als "ps"?

Antworten:

249

htopListet standardmäßig jeden Thread eines Prozesses separat auf, während psdies nicht der Fall ist. Um die Anzeige von Threads auszuschalten, drücken Sie Hoder verwenden Sie das Menü "Setup / Anzeigeoptionen", "Benutzerland-Threads ausblenden". Dadurch wird die folgende Zeile in Ihr ~/.htoprcoder eingefügt ~/.config/htop/htoprc(alternativ können Sie sie auch manuell einfügen):

hide_userland_threads=1

( hide_kernel_threads=1Wird auch durch Drücken von umgeschaltet K, ist aber standardmäßig 1.)

Eine weitere nützliche Option ist "Themen in einer anderen Farbe anzeigen" im selben Menü ( highlight_threads=1in .htoprc), wodurch Themen in einer anderen Farbe angezeigt werden (grün im Standardthema).

In der ersten Zeile der htopAnzeige steht eine Zeile wie „Aufgaben: 377, 842 thr, 161 kthr; 2 running ”. Hier wird die Gesamtzahl der Prozesse, Userland-Threads, Kernel-Threads und Threads in einem ausführbaren Zustand angezeigt. Die Zahlen ändern sich nicht, wenn Sie die Anzeige filtern, aber die Anzeigen "thr" und "kthr" verschwinden, wenn Sie die Einbeziehung von Benutzer- / Kernel-Threads deaktivieren.

Wenn Sie mehrere Prozesse sehen, die alle Merkmale gemeinsam haben, mit Ausnahme der PID- und CPU-bezogenen Felder (NIce-Wert, CPU%, TIME +, ...), handelt es sich höchstwahrscheinlich um Threads im selben Prozess.

Gilles
quelle
Gibt es einen Hinweis darauf, warum dies die Standardeinstellung ist? Warum ist das relevant? Es scheint, als würde man Lärm hinzufügen, aber ich denke, es gibt einen guten Grund.
Tuxayo
0

Auf einem mehr oder weniger aktuellen Arch-Linux-System werden ps xfmir nur die Prozesse angezeigt, deren Eigentümer meine Benutzer-ID ist. htopzeigt mir alle Vorgänge. Versuchen Sie es ps -efmit einer Liste aller Prozesse, oder rufen Sie möglicherweise eine Liste der ps -ejHBeziehungen zwischen Kindern und Eltern auf.

Bruce Ediger
quelle