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の負荷