Dlaczego `htop` pokazuje więcej procesów niż` ps`

174

W ps xf

26395 pts/78   Ss     0:00  \_ bash
27016 pts/78   Sl+    0:04  |   \_ unicorn_rails master -c config/unicorn.rb                                           
27042 pts/78   Sl+    0:00  |       \_ unicorn_rails worker[0] -c config/unicorn.rb                                        

W htoppokazuje się jak: htop pokazujący wiele linii unicorn_rails

Dlaczego htop pokazuje więcej procesów niż ps?

Cheng
źródło

Odpowiedzi:

248

Domyślnie htopwyświetla każdy wątek procesu osobno, podczas gdy psnie. Aby wyłączyć wyświetlanie wątków, naciśnij Hlub użyj menu „Ustawienia / Opcje wyświetlania”, „Ukryj wątki użytkownika”. Spowoduje to umieszczenie następującego wiersza w twoim ~/.htoprclub ~/.config/htop/htoprc(możesz alternatywnie umieścić go tam ręcznie):

hide_userland_threads=1

( hide_kernel_threads=1Przełączane także przez naciśnięcie K, ale domyślnie jest to 1).

Inną przydatną opcją jest „Wyświetlaj wątki w innym kolorze” w tym samym menu ( highlight_threads=1w .htoprc), co powoduje, że wątki są wyświetlane w innym kolorze (zielony w domyślnym motywie).

W pierwszym wierszu htopwyświetlacza znajduje się wiersz „Zadania: 377, 842 thr, 161 kthr; 2 bieganie ”. Pokazuje całkowitą liczbę procesów, wątków użytkownika, wątków jądra i wątków w stanie uruchomionym. Liczby nie zmieniają się podczas filtrowania wyświetlacza, ale oznaczenia „thr” i „kthr” znikają po wyłączeniu włączania wątków użytkownika / jądra odpowiednio.

Kiedy widzisz wiele procesów, które mają wszystkie cechy wspólne, z wyjątkiem pól związanych z PID i CPU (wartość NIce,% procesora, TIME +, ...), jest wysoce prawdopodobne, że są one wątkami w tym samym procesie.

Gilles
źródło
Wszelkie wskazówki na temat tego, dlaczego jest to ustawienie domyślne? Dlaczego to ma znaczenie? Wydaje się, że to hałas, ale sądzę, że jest dobry powód.
tuxayo
0

Dla mnie, w mniej lub bardziej aktualnym systemie arch. Linux, ps xfpokazuje mi tylko procesy należące do mojego ID użytkownika. htoppokazuje mi wszystkie procesy. Spróbuj ps -efuzyskać listę wszystkich procesów lub może ps -ejHuzyskać listę relacji dziecko / rodzic.

Bruce Ediger
źródło