我想让PowerShell给我内存和CPU使用率,但我无法弄清楚使用什么WMI类。我的电脑有两个处理器,所以为他们提供信息会很有用。如何使用PowerShell查找CPU和RAM使用情况?
回答
Get-WmiObject win32_processor | select LoadPercentage |fl
这会给你CPU负载。
(如EBGreen建议)编辑:
Get-WmiObject win32_processor | Measure-Object -property LoadPercentage -Average | Select Average
您也可以使用Get-计数器cmdlet的(PowerShell的2.0):
Get-Counter '\Memory\Available MBytes'
Get-Counter '\Processor(_Total)\% Processor Time'
为了让内存计数器的列表:
Get-Counter -ListSet *memory* | Select-Object -ExpandProperty Counter
要将输出连续输出到文件(此处每隔五秒)并使用Unix保存到CSV文件日期作为文件名:
while ($true) {
[int]$date = get-date -Uformat %s
$exportlocation = New-Item -type file -path "c:\$date.csv"
Get-Counter -Counter "\Processor(_Total)\% Processor Time" | % {$_} | Out-File $exportlocation
start-sleep -s 5
}
我用下面的PowerShell段来获取本地或远程系统的CPU使用率:
Get-Counter -ComputerName localhost '\Process(*)\% Processor Time' | Select-Object -ExpandProperty countersamples | Select-Object -Property instancename, cookedvalue| Sort-Object -Property cookedvalue -Descending| Select-Object -First 20| ft InstanceName,@{L='CPU';E={($_.Cookedvalue/100).toString('P')}} -AutoSize
同一个脚本,但与行延续格式:
Get-Counter -ComputerName localhost '\Process(*)\% Processor Time' `
| Select-Object -ExpandProperty countersamples `
| Select-Object -Property instancename, cookedvalue `
| Sort-Object -Property cookedvalue -Descending | Select-Object -First 20 `
| ft InstanceName,@{L='CPU';E={($_.Cookedvalue/100).toString('P')}} -AutoSize
在4核心系统上,它将返回如下结果:
InstanceName CPU
------------ ---
_total 399.61 %
idle 314.75 %
system 26.23 %
services 24.69 %
setpoint 15.43 %
dwm 3.09 %
policy.client.invoker 3.09 %
imobilityservice 1.54 %
mcshield 1.54 %
hipsvc 1.54 %
svchost 1.54 %
stacsv64 1.54 %
wmiprvse 1.54 %
chrome 1.54 %
dbgsvc 1.54 %
sqlservr 0.00 %
wlidsvc 0.00 %
iastordatamgrsvc 0.00 %
intelmefwservice 0.00 %
lms 0.00 %
ComputerName参数将接受服务器列表,因此通过一些额外的格式可以生成每台服务器上的顶级进程列表。喜欢的东西:
$psstats = Get-Counter -ComputerName utdev1,utdev2,utdev3 '\Process(*)\% Processor Time' -ErrorAction SilentlyContinue | Select-Object -ExpandProperty countersamples | %{New-Object PSObject -Property @{ComputerName=$_.Path.Split('\')[2];Process=$_.instancename;CPUPct=("{0,4:N0}%" -f $_.Cookedvalue);CookedValue=$_.CookedValue}} | ?{$_.CookedValue -gt 0}| Sort-Object @{E='ComputerName'; A=$true },@{E='CookedValue'; D=$true },@{E='Process'; A=$true }
$psstats | ft @{E={"{0,25}" -f $_.Process};L="ProcessName"},CPUPct -AutoSize -GroupBy ComputerName -HideTableHeaders
这将导致$ psstats与原始数据和下面显示的变量:
ComputerName: utdev1
_total 397%
idle 358%
3mws 28%
webcrs 10%
ComputerName: utdev2
_total 400%
idle 248%
cpfs 42%
cpfs 36%
cpfs 34%
svchost 21%
services 19%
ComputerName: utdev3
_total 200%
idle 200%
如何修改$ psstats以除以'@(gwmi -ComputerName $ server -Class Win32_ComputerSystemProcessor).Count'并添加'(gwmi Win32_Process -ComputerName $ ComputerName -Credential $ cred | Where {$ _。ProcessId -eq $ Process .IDProcess})。GetOwner()。User'? – 2016-11-02 12:25:15
您不需要反引号来继续行。您可以继续使用管道符号。 – js2010 2017-09-29 14:16:56
- 1. 获取CPU和RAM的使用情况
- 2. 如何处理函数的RAM和CPU使用情况?
- 3. 如何记录Linux进程的RAM和CPU使用情况
- 4. 如何从QNX中获取CPU负载/ RAM使用情况?
- 5. VB 6.0中远程系统CPU和RAM的使用情况
- 6. 如何通过java进程查找cpu使用情况
- 7. 如何在Windows 7中查找CPU使用情况的OID?
- 8. 如何查找谷歌分析器中的CPU使用情况
- 9. Socket.io CPU和Ram的使用
- 10. 使用WMI获取C#中每个进程的CPU和RAM使用情况?
- 11. 如何在Python中获取当前的CPU和RAM使用情况?
- 12. Amazon EC2 - 如何通过AWS API获得RAM和CPU的使用情况?
- 13. 如何在VB 6中获取当前的CPU和RAM使用情况?
- 14. 如何在C++中获取当前的CPU和RAM使用情况?
- 15. C#查询远程计算机的资源使用情况(即CPU负载,RAM使用情况)
- 16. 如何查看/报告Windows Azure CPU和内存使用情况?
- 17. 如何检查统一脚本和gameObjects的cpu使用情况?
- 18. 如何在Java中检查CPU和内存使用情况?
- 19. CPU使用情况如何计算?
- 20. 检查MySQL CPU使用情况(内部)
- 21. Powershell脚本生成内存和CPU使用情况的报警
- 22. Spring Scheduler cpu使用情况
- 23. 高cpu使用情况mysql
- 24. Python/PySerial和CPU使用情况
- 25. 度量以计算和比较Android中的RAM和CPU使用情况
- 26. Apple推荐用于RAM使用情况?
- 27. 如何检查我的应用程序的CPU使用情况?
- 28. 如何找到CPU使用情况的mysql RDS实例
- 29. 如何找出Java中的java进程的CPU使用情况
- 30. 在Linux中查找线程的CPU使用情况
谢谢!但是,是否有可能获得平均数字?我宁愿只有一个值而不是两个。 – Aaron 2011-06-10 13:41:31
试试这个:Get-WmiObject win32_processor | Measure-Object -property LoadPercentage -Average |选择平均值 – EBGreen 2011-06-10 14:29:43
我会让Anirudh的回答立场,如果这对OP有效,他不编辑它,那么我会在稍后。 – EBGreen 2011-06-10 14:30:28