PMPの流儀

PMPの流儀

エンジニアのページ

MENU

PowerShell プロセスのCPU使用率を取得する

PowerShell でプロセスのCPU使用率を監視することができます。Get-Counter コマンドでパフォーマンスモニタの値を簡単に取得することが可能です。

メモ帳を起動してCPU使用率を監視し続ける

起動した後に、メモ帳のウインドウサイズを変更してみるとCPUの使用率が変化することが分かります。

$p = Start-Process 'c:\windows\system32\notepad.exe' -PassThru  # メモ帳を起動
$cname = '\Process(' + $p.ProcessName + ')\% Processor Time'

while($true)
{
  $cv = Get-Counter -Counter $cname | Select  -expand CounterSamples | Select CookedValue
  [double]$per = $cv.CookedValue
  echo $per
}

注意点

使用率を取得するのに以下の方法を見かけたがなぜかCookedValueが0になってしまいました。 理由は謎です。

  [double]$per = (Get-Counter -Counter $cname).CounterSamples.CookedValue