8

Linux マシンでプロセッサ キューの長さ (実行する準備ができているが現在実行されていないプロセスの数) を特定しようとしています。Windows にはこのメトリックの WMI 呼び出しがありますが、Linux についてあまり知らないので、情報を得るために /proc と 'top' をマイニングしようとしています。CPU のキューの長さを決定する方法はありますか?

編集して追加: メトリックに関する Microsoft の言葉: 「準備はできているが、現在実行中の別のアクティブなスレッドのためにプロセッサで実行できない 1 つ以上のスレッドのコレクションは、プロセッサ キューと呼ばれます。」

4

4 に答える 4

8

sar -qキューの長さ、タスク リストの長さ、および 3 つの負荷平均を報告します。

例:

matli@tornado:~$ sar -q 1 0
Linux 2.6.27-9-generic (tornado)    01/13/2009  _i686_

11:38:32 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
11:38:33 PM         0       305      1.26      0.95      0.54
11:38:34 PM         4       305      1.26      0.95      0.54
11:38:35 PM         1       306      1.26      0.95      0.54
11:38:36 PM         1       306      1.26      0.95      0.54
^C
于 2009-01-13T22:39:34.880 に答える
5

vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 2  0 256368  53764  75980 220564    2   28    60    54  774 1343 15  4 78  2

最初の列 (r) は実行キューです。現在、私のマシンでは 2 つです。

編集:番号を取得する方法がないことに驚いた

番号を取得するためのクイック 'n' ダーティな方法 (マシンによって少し異なる場合があります):

  vmstat|tail -1|cut -d" " -f2
于 2009-01-13T20:57:34.697 に答える
2

uptime最近の負荷平均が表示されます。これは、アクティブなプロセスのほぼ平均数です。uptime過去 1、5、および 15 分間の負荷平均を報告します。これは、CPU ごとではなく、システムごとの測定値です。

Windows のプロセッサ キューの長さがわかりません。うまくいけば、これに十分近いでしょうか?

于 2009-01-13T20:55:36.680 に答える