見出し画像

PowerShell PCの負荷状況を確認したい

Windowsにはパフォーマンスカウンターというのがあり、その値を取ると負荷状況が確認できます。

CPU負荷


#CPU負荷率
Get-Counter "\Processor(_Total)\% Processor Time" | Foreach-Object {$_.CounterSamples[0].CookedValue}

これはそのまま


メモリ空き容量

#メモリ空容量
Get-Counter "\memory\Available MBytes" | Foreach-Object {$_.CounterSamples[0].CookedValue}

これもそのまま


メモリ使用率

#メモリ使用率(コミット済み)
Get-Counter "\memory\% committed bytes in use" | Foreach-Object {$_.CounterSamples[0].CookedValue}

「コミット済み」とは仮想メモリ込みのメモリ使用量だそうなのですが
ちょっと分らんですよね。
タスクマネージャの数値と違ってて本当の使用率が分からない。

タスクマネージャの画面がこれ↓


GPU

#GPUのパフォーマンスカウンター
$GpuMemTotal = (((Get-Counter "\GPU Process Memory(*)\Local Usage").CounterSamples | where CookedValue).CookedValue | measure -sum).sum
 Write-Output "Total GPU Process Memory Local Usage: $([math]::Round($GpuMemTotal/1MB,2)) MB"
$GpuUseTotal = (((Get-Counter "\GPU Engine(*engtype_3D)\Utilization Percentage").CounterSamples | where CookedValue).CookedValue | measure -sum).sum
 Write-Output "Total GPU Engine Usage: $([math]::Round($GpuUseTotal,2))%"

これもそのままっぽい


どんな情報が引き出せるかは次のコマンドで分かります。

Get-Counter -ListSet "*"


あんまり使えないかも



#PowerShell #プログラミング #プログラミング学習 #Windows #パフォーマンスカウンタ #PCの負荷

いいなと思ったら応援しよう!