2
我试图通过添加进程的内核模式时间和用户模式时间来显示10个进程,这些进程正在使用cpu时间消耗系统中的大部分内存。但它什么也没有显示。显示进程占用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
请你告诉我,什么是错的呢?
的错误您看不到如下所示:'无法将“System.TimeSpan”类型的“00:01:33.0156250”值转换为键入“System.D ateTime“'。它们是由这部分引起的[日期时间] $ ts = [timespan] :: fromticks(...'。不知道如何解决这个问题,虽然。 – sodawillow