2
プロセスのカーネルモード時間とユーザーモード時間を追加することで、CPU時間のあるシステムでほとんどのメモリを消費する10個のプロセスを表示しようとしています。それは何も示していない。表示プロセスでCPU時間を消費するメモリ
Get-WmiObject Win32_Process -ComputerName XXXXX |
Sort-Object WorkingSetSize -Descending |
Select-Object -First 10 |
Format-Table -AutoSize Name, ProcessID,
@{Label = "Consumed Memory(MB)"; Expression = {
[math]::Round(($_.WorkingSetSize/1MB), 2) }},
@{Name = "Cpu Time"; Expression = {
"{0:HH:mm:ss}" -f ([datetime]$ts = [timespan]::FromTicks($_.KernelModeTime + $_.UserModeTime)).Ticks }}
出力:
Name ProcessID Consumed Memory(MB) Cpu Time ---- --------- ------------------- -------- SC.Server.WindowsService.exe 58400 2300.46 tesvc.exe 1680 138.88 iisexpress.exe 59004 98.61 java.exe 39020 77.68 mcshield.exe 2436 63.68 svchost.exe 828 47.12 lsass.exe 588 33.65 CcmExec.exe 2496 20.8 svchost.exe 692 14.34 svchost.exe 796 14.14
あなたがこの中に間違っているものを私に教えてくださいだろうか?
エラー'このタイプの" 00:01:33.0156250 "の値を" System.TimeSpan "に変換することはできません" System.D ateTime "。これらは、この部分によって引き起こされます。[datetime] $ ts = [timespan] :: fromticks(... '。)これを修正する方法はわかりません。 – sodawillow