Windows でメモリの状況を確認したい場合は tasklist コマンドが使えます。
1. 基本的な使い方
コマンドプロンプトを起動し tasklist コマンドを実行すると、プロセスごとのメモリ使用量を表示できます。
※参考:「コマンドプロンプト」の開き方
tasklist コマンドで表示されるメモリ使用量はワーキングセット (プライベートワーキングセット + 共有ワーキングセット) となります・
CMD> tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 K
System 4 Services 0 20 K
Registry 196 Services 0 27,816 K
smss.exe 608 Services 0 396 K
csrss.exe 840 Services 0 2,840 K
wininit.exe 928 Services 0 1,312 K
csrss.exe 936 Console 1 4,952 K
services.exe 1000 Services 0 6,148 K
lsass.exe 1020 Services 0 15,628 K
winlogon.exe 808 Console 1 6,060 K
svchost.exe 1128 Services 0 25,024 K
WUDFHost.exe 1156 Services 0 2,784 K
<略>
エクセルで分析したい場合は tasklist /fo csv のようにCSV形式で出力させましょう。
CMD> tasklist /fo csv
"イメージ名","PID","セッション名","セッション#","メモリ使用量"
"System Idle Process","0","Services","0","8 K"
"System","4","Services","0","20 K"
"Registry","196","Services","0","27,352 K"
"smss.exe","608","Services","0","396 K"
"csrss.exe","840","Services","0","2,884 K"
"wininit.exe","928","Services","0","1,312 K"
"csrss.exe","936","Console","1","5,440 K"
"services.exe","1000","Services","0","6,164 K"
"lsass.exe","1020","Services","0","15,612 K"
"winlogon.exe","808","Console","1","6,076 K"
"svchost.exe","1128","Services","0","25,048 K"
"WUDFHost.exe","1156","Services","0","2,784 K"
<略>
プロセスがどのサービスと紐づいているか調べたい場合はtasklist /svc /fo csv を使います。svchost.exe のようなサービスをホストするプロセスでも、PIDでサービスと紐づけることができ、どのサービスがどれくらいのメモリを消費しているかがわかります。
※参考: svchost.exe (サービスホスト) とは
CMD> tasklist /svc
イメージ名 PID サービス
========================= ======== ============================================
System Idle Process 0 N/A
System 4 N/A
Registry 196 N/A
smss.exe 608 N/A
csrss.exe 840 N/A
wininit.exe 928 N/A
csrss.exe 936 N/A
services.exe 1000 N/A
lsass.exe 1020 EFS, KeyIso, SamSs, VaultSvc
winlogon.exe 808 N/A
svchost.exe 1128 BrokerInfrastructure, DcomLaunch, PlugPlay,
Power, SystemEventsBroker
WUDFHost.exe 1156 N/A
fontdrvhost.exe 1172 N/A
fontdrvhost.exe 1180 N/A
svchost.exe 1300 RpcEptMapper, RpcSs
svchost.exe 1340 LSM
dwm.exe 1416 N/A
svchost.exe 1488 TermService
svchost.exe 1524 bthserv
<略>
2. その他オプション
1. プロセス名で昇順にソートする
tasklist | sort でプロセス名で昇順にソートできます。
CMD> tasklist | sort
========================= ======== ================ =========== ============
AggregatorHost.exe 5128 Services 0 2,216 K
ApplicationFrameHost.exe 5712 Console 1 42,596 K
armsvc.exe 3824 Services 0 1,752 K
backgroundTaskHost.exe 8348 Console 1 1,292 K
backgroundTaskHost.exe 10156 Console 1 164 K
backgroundTaskHost.exe 10956 Console 1 11,468 K
CalculatorApp.exe 8788 Console 1 97,272 K
chrome.exe 2372 Console 1 205,672 K
chrome.exe 2944 Console 1 7,404 K
chrome.exe 4208 Console 1 10,720 K
chrome.exe 4476 Console 1 72,696 K
chrome.exe 7076 Console 1 106,176 K
chrome.exe 7164 Console 1 116,372 K
chrome.exe 8636 Console 1 93,800 K
2. プロセス名で降順にソートする
tasklist | sort /R でプロセス名で昇順にソートできます。
CMD> tasklist | sort /R
イメージ名 PID セッション名 セッション# メモリ使用量
ZeroConfigService.exe 4020 Services 0 4,696 K
WUDFHost.exe 1156 Services 0 2,784 K
WMIRegistrationService.ex 3956 Services 0 2,284 K
WmiPrvSE.exe 20776 Services 0 9,820 K
WmiPrvSE.exe 5996 Services 0 3,148 K
winlogon.exe 808 Console 1 6,084 K
wininit.exe 928 Services 0 1,312 K
Widgets.exe 1348 Console 1 2,696 K
vmware-usbarbitrator64.ex 4496 Services 0 3,628 K
vmware-authd.exe 4392 Services 0 2,260 K
vmnetdhcp.exe 3944 Services 0 1,724 K
vmnat.exe 3984 Services 0 2,820 K
3. メモリの使用量が○○以上のプロセスを表示する
tasklist /fi “memusage gt xxxx” でメモリの使用量が○○以上のプロセスを表示できます。ちなみに “gt” は “grater than” の略です。例えばメモリ使用量が100 MB (102,400 KB) 以上のプロセスを抜き出す場合は下記のようにします。
CMD> tasklist /fi "memusage gt 102400"
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
Memory Compression 2488 Services 0 508,024 K
MsMpEng.exe 4060 Services 0 169,732 K
explorer.exe 8536 Console 1 140,320 K
SearchHost.exe 1868 Console 1 199,888 K
chrome.exe 13332 Console 1 366,520 K
chrome.exe 14436 Console 1 333,616 K
chrome.exe 17116 Console 1 114,300 K
CalculatorApp.exe 8788 Console 1 102,520 K
EXCEL.EXE 19780 Console 1 112,396 K
chrome.exe 2372 Console 1 217,908 K
chrome.exe 19056 Console 1 115,084 K
chrome.exe 20708 Console 1 270,636 K
chrome.exe 1072 Console 1 128,116 K
chrome.exe 23064 Console 1 199,736 K
chrome.exe 10716 Console 1 209,300 K
powershell.exe 16904 Console 1 121,448 K
4. メモリの使用量順にソートする
メモリ使用容量でソートするオプションはありません。 tasklist /fo csv でCSV形式で出力し、エクセルに貼り付けて、ソートするのが確実です。
以上。
コメント