2017-10-25 18 views
0

2つの物理CPUを持つリモートマシンで以下を実行しようとしています。2つのCPUを持つサーバーからPowerShellでCPU平均値を取得するときの問題

Get-WmiObject Win32_Processor -computername X | 
Measure-Object -property LoadPercentage -Average | 
Select-Object -ExpandProperty Average 

(出典:How to Determine the Average CPU Percentage using a Powershell Command and Output the CPU Percentage as a Numeric Percentage with no Labels

私はGet-WmiObject Win32_Processor -computername Xを実行したときにこれが出力されます。

Caption   : Intel64 Family 6 Model 63 Stepping 4 
DeviceID   : CPU0 
Manufacturer  : GenuineIntel 
MaxClockSpeed  : 2195 
Name    : Intel(R) Xeon(R) CPU E7-4850 v3 @ 2.20GHz 
SocketDesignation : None 

Caption   : Intel64 Family 6 Model 63 Stepping 4 
DeviceID   : CPU1 
Manufacturer  : GenuineIntel 
MaxClockSpeed  : 2195 
Name    : Intel(R) Xeon(R) CPU E7-4850 v3 @ 2.20GHz 
SocketDesignation : None 

と出力、私はGet-WmiObject Win32_Processor -computername X | Measure-Object -property LoadPercentage -Average | Select-Object -ExpandProperty Averageを実行します。

0 

これがされ私の最初の投稿ここにn。私が使用しようとしているコードがStack Overflowから来たので、私はServer Faultではなくここに投稿することにしました。

EDIT:リモートマシン上のすべての使用可能なCPUから平均CPU負荷を取得する方法を探しています。したがって、リモートマシンのCPU数に関係なく、スクリプトは理想的に動作します。

+0

loadpercentageが実際に0ではありませんか?コマンドは正常に動作します。 – arco444

+0

これは、リソースモニタ(perfmon/res)から観察されるように、両方のCPUが常に15%+で稼働しているライブSQLサーバーです。私は別の時間にコマンドを実行して、値は常に0です。コマンドは、私のための単一のCPUを持つサーバでうまく動作しますが、2つのCPUを持つこのサーバではうまく動作しません。 – nappetass

+0

元の質問に追加するには、サーバーOSとPSのバージョンが役に立つ情報です。 – Robin

答えて

0

私のためのソリューションを起動するコマンドを代わりに使用していた:私は実際に(また、サンプルとの間隔の中で構築されたパラメータを持つ)CPU使用率を取得するには、Get-カウンタを使用して終了..though

Invoke-Command -ComputerName X -Credential $creds { 
Get-WmiObject Win32_Processor | 
Measure-Object -property LoadPercentage -Average | 
Select-Object -ExpandProperty Average 
} 

を:

Invoke-Command -ComputerName X -Credential $creds { 
((Get-Counter -counter '\Processor(_Total)\% Processor Time').CounterSamples).CookedValue 
} 
関連する問題