8

Windows のスクリプトから特定のサービスの CPU 使用率を取得する方法はありますか? システム全体の CPU 使用率が表示されることはわかってwmic cpu get LoadPercentageいますが、winword.exe などの特定のプログラムの CPU 使用率を取得することは可能ですか?

4

2 に答える 2

11

はい、可能です。

この wmic コマンドは、すべてのプロセスの CPU 使用率を出力します。次に、パイプfindstrを使用して特定のプロセスをフィルタリングできます ( flag を使用/c:<process name>)。

wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime

help findstrコマンド ラインからとhelp findを実行して、リストをフィルター処理するその他の方法を確認します。

例えば:

C:\> wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime | findstr /i /c:chrome
chrome                  24
chrome#1                0
chrome#2                0
chrome#3                0
于 2013-01-08T18:30:56.030 に答える
0

これを行うには、MS パフォーマンス ツールキットを使用するのが最も簡単です。ETW を使用して、CPU 使用率を含む多くのメトリックを追跡できます。パフォーマンス ツールキットをインストールした後 (現在は Windows SDK にあります)。

次のコマンドを実行します。

1. set _NT_SYMBOL_PATH= srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols 
2. open trace via:  xperf -on base
3. Excute any program for some times.
4. output the result:  xperf –d myprofile.etl
5. launch the graphics UI to analysis :  xperfview myprofile.etl

WMI とは異なり、Xperf はより複雑なツールキットであり、プロセスだけでなく関数呼び出しの消費、CPU 状態の変化など、CPU 使用率の詳細を提供できます。(これが、最初のステップで Windows シンボルをインポートする理由です)。

もう 1 つの良い点は、Xperf が ETW を採用していることです。ETW は CPU にほとんど影響を与えません。

于 2013-01-08T13:44:23.107 に答える