物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

WindowsとLinuxからプロセスごとのCPU使用率、メモリ使用率、ディスク読み書き量を取得する方法

PS C:\Users\Masahiro> Get-Counter -ListSet process | Select-Object -ExpandProperty Paths
\Process(*)\% Processor Time "CPU使用率"
\Process(*)\% User Time "CPU使用率のうちユーザーの分"
\Process(*)\% Privileged Time "CPU使用率のうちカーネルの分 IO等の待ち時間が大きいのはこっち"
\Process(*)\Working Set "現在の実メモリ使用量"
\Process(*)\Virtual Bytes "現在の仮想メモリ使用量"
\Process(*)\Page Faults/sec "ページフォルトの発生数"
\Process(*)\IO Read Bytes/sec "1秒あたりの読み込み量"
\Process(*)\IO Write Bytes/sec "1秒あたりの書き込み量"

\Process(*)\Virtual Bytes Peak "仮想メモリ使用量の最大値"
\Process(*)\Working Set Peak "実メモリ使用量の最大値"
\Process(*)\Private Bytes "プライベートメモリ使用量"
\Process(*)\Working Set - Private "実メモリ-プライベートメモリ"
\Process(*)\Page File Bytes Peak "ページングファイルの使用量の最大値"
\Process(*)\Page File Bytes "現在のページングファイルの使用量"
\Process(*)\Thread Count "有効なスレッド数"
\Process(*)\Priority Base "プロセスの優先度"
\Process(*)\Elapsed Time "経過時間"
\Process(*)\ID Process "識別子"
\Process(*)\Creating Process ID
\Process(*)\Pool Paged Bytes "ページプールメモリの使用量"
\Process(*)\Pool Nonpaged Bytes
\Process(*)\Handle Count
\Process(*)\IO Read Operations/sec
\Process(*)\IO Write Operations/sec
\Process(*)\IO Data Operations/sec 
\Process(*)\IO Other Operations/sec
\Process(*)\IO Data Bytes/sec データのIO全部
\Process(*)\IO Other Bytes/sec 他

https://support.microsoft.com/ja-jp/help/186536/terminal-server-performance-monitor-objects-and-counters

Linuxの場合

各プロセスのCPU使用率

$ pidstat -u
UID ユーザーID
PID プロセスID
%usr CPU使用率のうちユーザーの分
%system CPU使用率のうちカーネルの分
%guest 
%wait  CPU使用率のうちIOの分
%CPU CPU使用率
CPU CPUの番号
Command

各プロセスのメモリ使用率

$ pidstat -r
UID       
PID  
minflt/s  マイナーページフォルト数
majflt/s  メジャーページフォルト(ディスクから)数
VSZ     現在の仮想メモリ使用量 [KB]
RSS    物理メモリ使用量 [KB]
%MEM  
Command

ディスクの使用量

$ pidstat -d
 UID       
PID   
kB_rd/s   1秒あたりの読み出し量
kB_wr/s   1秒あたりの書き込み量
kB_ccwr/s  
iodelay  
Command

【 pidstat 】コマンド――プロセスのリソース使用量を表示する:Linux基本コマンドTips(129) - @IT

http://sebastien.godard.pagesperso-orange.fr/documentation.html