システムで実行されているプロセスの実際の数を確認するにはどうすればよいですか。プロセスの数を数えるためにps
を使用することについて言及している記事がいくつかあります。しかし、最近cat /proc/sys
を調べたところ、次のように出力されました。
cpu 972 0 1894 189609 236 26 490 0 0 0
cpu0 972 0 1894 189609 236 26 490 0 0 0
intr 101595 157 10 0 0 0 0 0 0 3 0 0 0 136 0 0 0 1406 0 0 14936 934 19133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 244344
btime 1405754990
processes 3912
procs_running 3
procs_blocked 0
softirq 122778 0 48263 439 15599 19037 0 1 0 7405 32034
プロセス数は3912と表示されます。ps -A --no-headers | wc -l
などを使用すると、173プロセスしか表示されません。
なぜ/proc/stat
はもっと多くのプロセスを表示するのですか? (3739プロセスの増加)正しい数を与えているのは誰ですか?
proc(5)
のドキュメントを見ると、processesフィールドでこれがわかります。
ブート以降のフォークの数。
したがって、それは単にあなたが探している数ではありません。 ps
は、ご存じのとおり、/proc
の下に名前に数字のみが含まれるディレクトリをカウントすることもできます。
スレッドを含めるかどうかに応じて、ps
コマンドに-Lオプションを追加します。
$ ps -A --no-headers | wc -l
359
$ ps -AL --no-headers | wc -l
967
デフォルトでは、スレッドはpsによって個別にリストされません。スレッドのポイントは、それらが複数の実行スレッド 1つの内部プロセスアドレス空間であることです。