システムで実行されている実際のプロセス数を確認するには?多くの記事では、ps
プロセスの数を計算するために使用について言及しています。しかし、最近見てみると、cat /proc/stat
次のように出力されます。
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個のプロセスが追加されました)?誰が正しい番号を教えてくれましたか?
答え1
文書を見るproc(5)
、あなたはこれを見るでしょうプロセス土地:
リリース後のフォーク数。
したがって、これはあなたが探している数字ではありません。ps
すでに知っているように、名前に数字のみを含むディレクトリを計算することも/proc
別のアプローチです。
答え2
スレッドを含めるかどうかに応じて、コマンドに-Lオプションを追加しますps
。
$ ps -A --no-headers | wc -l
359
$ ps -AL --no-headers | wc -l
967
psはデフォルトでスレッドを個別にリストしません。スレッドのポイントは、スレッドが次のようになることです。 マルチスレッド実行一つにプロセスアドレス空間。