我需要在对它们执行性能测试时监视Windows服务器中的CPU和内存使用情况,但我需要它们通过脚本。
在Unix系统中,我有脚本,例如,要监控cpu,我使用这一行:
cpuPerc=$(top -n 1 -b|grep Cpu|awk '{print $2}'|cut -d"%" -f1"")
然后,我将它发送到文件或带回声的终端。
感谢。
答案 0 :(得分:0)
如果您想使用PowerShell进行操作,可以在此处看到一个简单示例:http://technet.microsoft.com/en-us/magazine/ee872428.aspx
如果您使用的是本地化的Windows(非英语),则必须先获取正确的计数器名称。 例如,在我的法语Windows版本中,它将是:
Get-counter -ListSet *
这将显示所有可用的反诉。我可以看到有一个名为"processeur"
的集合,它是CPU的法语单词。所以现在我可以得到这个集合的可用计数器:
Get-counter -ListSet "processeur" |select -expand counter
它给了我结果:
PS>Get-counter -ListSet "processeur" |select -expand counter
\Processeur(*)\% temps processeur
\Processeur(*)\% temps utilisateur
\Processeur(*)\% temps privilégié
\Processeur(*)\Interruptions/s
\Processeur(*)\% temps DPC
\Processeur(*)\% temps d'interruption
\Processeur(*)\DPC mis en file d'attente/s
\Processeur(*)\Taux DPC
\Processeur(*)\% d'inactivité
\Processeur(*)\% durée C1
\Processeur(*)\% durée C2
\Processeur(*)\% durée C3
\Processeur(*)\Transitions C1/s
\Processeur(*)\Transitions C2/s
\Processeur(*)\Transitions C3/s
现在我可以使用这样的一个或多个计数器:
Get-counter -ListSet "processeur" |select -expand counter | foreach{ get-counter $_ -SampleInterval 2 -MaxSamples 10}
Get-counter -ListSet "processeur" |select -expand counter |where {$_ -match "inactivité"} | foreach{ get-counter $_ -SampleInterval 2 -MaxSamples 10}
至少,您可以将结果传递给export-counter
,以便将其保存到文件(CSV,TSV或BLG)。
希望有帮助