「htop」が「ps」よりも多くのプロセスを表示する理由


174

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                                        

ではhtop、次のように表示されます。 複数のunicorn_rails行を示すhtop

なぜhtopはpsよりも多くのプロセスを表示するのですか?


回答:


249

デフォルトでhtopは、プロセスの各スレッドを個別にリストしますが、リストしpsません。スレッドの表示をオフにするには、を押すHか、[設定/表示オプション]メニューの[ユーザーランドスレッドを非表示にする]を使用します。これにより、~/.htoprcまたはに次の行が追加されます~/.config/htop/htoprc(または、手動で追加することもできます)。

hide_userland_threads=1

hide_kernel_threads=1を押して切り替えKますが、デフォルトでは1です。)

別の有用なオプションは、同じメニュー(で「別の色で表示スレッド」であるhighlight_threads=1.htoprcのスレッドが別の色(デフォルトのテーマでは緑)に示されていることが原因)、。

htop表示の最初の行には、「タスク:377、842 thr、161 kthr; 2ランニング」。これは、プロセス、ユーザーランドスレッド、カーネルスレッド、および実行可能状態のスレッドの総数を示します。表示をフィルターしても数字は変わりませんが、ユーザー/カーネルスレッドの包含をそれぞれオフにすると、「thr」と「kthr」の表示が消えます。

PIDおよびCPU関連のフィールド(NIce値、CPU%、TIME +など)を除くすべての特性を共通に持つ複数のプロセスが表示される場合、それらは同じプロセスのスレッドである可能性が高いです。


これがデフォルトである理由についての手がかりはありますか?なぜそれが関連するのですか?ノイズを追加するように思えますが、十分な理由があると思います。
tuxayo

0

私にとって、多少なりとも現在のArch Linuxシステムでps xfは、ユーザーIDが所有するプロセスのみが表示されます。 htopすべてのプロセスを表示します。ps -efすべてのプロセスのリストを試すかps -ejH、または子/親関係のリストを取得してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.