Windows のコマンドラインで各プロセスのCPU使用率を取得

Sysinternals が Windows の便利ツールいくつかをバージョンアップ。 Updates: AccessChk v 5.03, Autoruns & Autorunsc v 11.22, ProcMon v 3.0, PsList v 1.3 - Sysinternals Site Discussion - Site Home - TechNet Blogs

グラフィカルな Process Monitor v3.0 が見た目にも派手でよくわかるところですけれども、自動でデータ収集したい派の人々にはコマンドラインでシンプルに文字を吐いてもらわねば困ります。

というわけで PsList です。PsTools のアーカイブに含まれてます。

pslist の -s オプションでCPU使用率が取れます。-s 回数 で何回繰り返すかを指定します。1回目は前回との比較ができないので値が取れません。2回目以降に値が出てきます。

とりあえず2回実行してその最初の方だけ表示するとこんな感じになるよというのを。見ればよくわかります。

C:\usr\local\PsTools>pslist.exe -s 2 | grep -A 10 "Process information for"
10:35:40 2012/03/28 Process information for THINKPADT510:
 
Name                Pid CPU Thd  Hnd   Priv        CPU Time    Elapsed Time
Idle                  0   0   4    0      0  1294:04:59.593     0:00:00.000
System                4   0 154 1848    456     3:02:57.369   339:55:18.182
smss                376   0   2   32    536     0:00:00.062   339:55:18.182
csrss               536   0   9 1081   3372     0:00:46.363   339:54:46.857
wininit             616   0   3   83   2020     0:00:01.528   339:54:36.966
csrss               636   0  14 1047   5164     0:05:38.412   339:54:36.966
winlogon            680   0   3  120   3952     0:00:01.263   339:54:35.796
services            728   0  12  405   9176     0:02:59.338   339:54:35.703
--
10:35:42 2012/03/28 Process information for THINKPADT510:
 
Name                Pid CPU Thd  Hnd   Priv        CPU Time    Elapsed Time
Idle                  0  92   4    0      0  1294:05:04.304   339:55:19.515
pslist             8360   6   2  174   3980     0:00:00.702     0:00:01.644
chrome             9476   1  10  201  30028     1:49:30.949    24:04:34.718
taskmgr            4832   1   6  188  12080     3:07:02.134   314:07:53.390
wininit             616   0   3   83   2020     0:00:01.528   339:54:38.299
csrss               636   0  14 1046   5164     0:05:38.412   339:54:38.299
winlogon            680   0   3  120   3952     0:00:01.263   339:54:37.129
services            728   0  12  405   9176     0:02:59.338   339:54:37.036

Linux でいうところの top みたいな感じで数字が取れます。便利。