通过脚本监视Windows服务器

时间:2014-04-08 15:42:04

标签: scripting monitoring performancecounter windows-server

我需要在对它们执行性能测试时监视Windows服务器中的CPU和内存使用情况,但我需要它们通过脚本。

在Unix系统中,我有脚本,例如,要监控cpu,我使用这一行:

cpuPerc=$(top -n 1 -b|grep Cpu|awk '{print $2}'|cut -d"%" -f1"")

然后,我将它发送到文件或带回声的终端。

感谢。

1 个答案:

答案 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)。 希望有帮助