Instead of logging into each via RDP or open Perfmon against each host manually, here is a quick command line to get the aggregate CPU load from multiple hosts in one go.
PS C:\> while (1) { (("host1,host2,host3").split(",")) | % { get-counter "\\$_\Processor(_total)\% Processor Time" -maxsamples 1 | select -exp countersamples | select path,cookedvalue }| sort CookedValue -desc; sleep 60; clear}
Some explanation and other ideas:
- (("host1,host2,host3").split(","))
create an array from the comma delimited list of hosts - get-counter "\\$_\Processor(_total)\% Processor Time" -maxsamples 1
read counter from each host remotely. The counter can be replaced i something else needs to be monitored, other than CPU - select -exp countersamples | select path,cookedvalue
Expand what's in the countersamples property and take only the 'path' and 'cookedvalue' - sort CookedValue -desc
put the largest value to the top - sleep 60; clear
wait a minute, clear the screen and do it again in a while loop
It's not quick, not sophisticated, no bells and whistles around it but it does the job and gives you a sample of the CPU load periodically.
Hope it's useful.
t
No comments:
Post a Comment