PowerShellでメモリ/CPU/プロセスを確認する
メモリの使用量、CPU時間、プロセスを表示します。
メモリ使用率
get-wmiobject win32_operatingsystem | ft -a ` @{label="FreePhysicalMemory";expression={$_.FreePhysicalMemory/1KB};formatstring="#,0.00 MB"}, @{label="TotalVisibleMemorySize";expression={$_.TotalVisibleMemorySize/1KB};formatstring="#,0.00 MB"}, @{label="Phisical momory usage";expression={($_.TotalVisibleMemorySize - $_.FreePhysicalMemory) / $_.TotalVisibleMemorySize};formatstring="#0.00 %"}, @{label="FreeVirtualMemory";expression={$_.FreeVirtualMemory/1KB};formatstring="#,0.00 MB"}, @{label="TotalVirtualMemorySize";expression={$_.TotalVirtualMemorySize/1KB};formatstring="#,0.00 MB"}, @{label="Virtual momory usage";expression={($_.TotalVirtualMemorySize - $_.FreeVirtualMemory) / $_.TotalVirtualMemorySize};formatstring="#0.00 %"}
CPU時間
get-wmiobject win32_perfformatteddata_perfos_processor | ft -a Name,PercentProcessorTime
プロセス一覧(メモリ使用量の降順)
ps | % {$id=$_.id;$p=(get-wmiobject win32_process -filter processid=$id); add-member -inputobject %_ -name "Owner" -membertype noteproperty -value $p.getowner().user; add-member -inputobject $_ -name "ParentProcessId" -membertype noteproperty -value $p.ParentProcessId -passthru;} | sort -p workingset64 -desc | ft -a Id,Name,@{label="WorkingSet";expression={$_.WorkingSet64/1MB};formatstring="#,0.00 MB"}, @{label="VirtualMemorySize";expression={$_.VirtualMemorySize64/1MB};formatstring="#,0.00 MB"}, StartTime,ParentProcessId,Description,Path