Linuxには、次のように定義される負荷平均の概念があります。
システム負荷平均は、実行可能な状態または中断できない状態にあるプロセスの平均数です。実行可能な状態のプロセスは、CPUを使用しているか、CPUの使用を待機しています。割り込み不可能な状態のプロセスは、ディスクの待機など、I/Oアクセスを待機しています。平均は、3つの時間間隔で取得されます。負荷平均はシステムのCPU数に対して正規化されていないため、1の負荷平均は常に1つのCPUシステムが読み込まれることを意味しますが、4 CPUシステムの場合は75%の時間アイドルでした。
WMI経由で利用できる最も近いものは何ですか?基本的に、そのようなパフォーマンスメトリックの測定方法を決定する2つのOSの間に違いはありますか?違いは何ですか?
Process Queue Length
System
パフォーマンスカウンターオブジェクトからのカウントは次のとおりです:
プロセッサキューの長さは、プロセッサキュー内のスレッド数です[...]
この値はWMIで Win32_PerfFormattedData_PerfOS_System
。
全体的な作業需要のそのような測定値は知りません。CPUの種類に多少の内訳があるCPUの割合です。これは、マシンがどれほど過負荷であるかを理解することを難しくします。 Linuxシステムが63の負荷平均を報告しており、Windowsシステムが100%のCPUを報告している場合、まあ、どちらも完全に実行されていますが、Windowsシステムについて言えることはそれだけです。
同等のウィンドウに何かがあるかどうかはわかりませんが、そこにあったとしても意味があるかどうかはわかりません。説明から、ハングまたは一時停止したプロセスでさえCPU時間が割り当てられるため、プロセスがどのように失敗するかはわかりません。さらに、提供されている定義によって負荷の概念を判断するために、ウィンドウの下のプロセスではなく、スレッドと実行可能なスレッドを調べる方が適切です。
Pythonを使用している場合、psutilはWindowsでプロセッサキューの長さを介してgetloadavg()をエミュレートします。
>>> import psutil
>>> psutil.getloadavg()
(3.14, 3.89, 4.67)
これがどのように行われるかを示すPR: https://github.com/giampaolo/psutil/pull/1485
次のコマンドを使用すると、瞬間的 CPU負荷をパーセントで取得できます。
wmic cpu get loadpercentage
どちらが戻ります:
LoadPercentage
10
残念ながら、いつでも表示されませんaverages from wmic cpu get
、それはいいでしょう。