Windows 7 performance monitoring

sphinx99

[H]ard|Gawd
Joined
Dec 23, 2006
Messages
1,072
Let's say I want to get an idea of who is beating up their computers the most (in terms of CPU utilization, disk I/O, etc.) so that I can target new computers at people who really need them the most. Is there a way to record, collect and report on typical W7 performance in a fairly easy way, across a bunch of PCs?

I have some new computers sitting in storage while users toil away with equipment of varying age. Normally I'd simply swap out the oldest equipment, but sometimes that old equipment is doing nothing but Outlook, and doing it fine while another PC may only be a year or two old, but being pushed to its limit by a different user with a different workload. I'm wondering if there is an easy way to tell.
 
Can you understand and make scripts? PowerShell (included with Win 7 and Server 2008 R2), with remoting enabled, can gather performance statistics from network PCs, such as CPU usage, memory load, disk load, network load, usb utilization, and many other metrics. The command specifically is 'get-counter', for instance here's a script I use on my htpc from my main rig:

Code:
$dr=0
$dn=0
while($true)
{
 (get-counter -computername 7mc -counter "\LogicalDisk(d:)\Disk Read Bytes/sec").countersamples | Select-Object -ExpandProperty cookedvalue| %{"{0:N} MB/s." -f ($_/1MB)}
}

And here's a sample output:

Code:
jgentile@quadbox●~\powershell►.\diskcounter.ps1
0.37 MB/s.
0.37 MB/s.
0.25 MB/s.
0.38 MB/s.
0.38 MB/s.
0.31 MB/s.

Here's another example:
Code:
[EMAIL="jgentile@quadbox●~\powershell►Get-Counter"]jgentile@quadbox●~\powershell►Get-Counter[/EMAIL] -computer 7mc
Timestamp                 CounterSamples
---------                 --------------
4/20/2011 2:59:09 PM      [URL="file://\\7mc\\network"]\\7mc\\network[/URL] interface(intel[r] pro_1000 pl network connection)\bytes total/sec :
                          17884.5665518168
                          [URL="file://\\7mc\\network"]\\7mc\\network[/URL] interface(isatap.mshome.net)\bytes total/sec :
                          0
                          [URL="file://\\7mc\\network"]\\7mc\\network[/URL] interface(local area connection* 11)\bytes total/sec :
                          0
                          [URL="file://\\7mc\\processor(_total)\%"]\\7mc\\processor(_total)\%[/URL] processor time :
                          2.53412035612043
                          [URL="file://\\7mc\\memory\%"]\\7mc\\memory\%[/URL] committed bytes in use :
                          31.1522432860061
                          [URL="file://\\7mc\\memory\cache"]\\7mc\\memory\cache[/URL] faults/sec :
                          0
                          [URL="file://\\7mc\\physicaldisk(_total)\%"]\\7mc\\physicaldisk(_total)\%[/URL] disk time :
                          0.226228131214113
                          [URL="file://\\7mc\\physicaldisk(_total)\current"]\\7mc\\physicaldisk(_total)\current[/URL] disk queue length :
                          0

You need to enable Remoting and unfirewall the Windows Management stuff as well as Remote Registry to use it (and add your host to the computers trustedhosts list, this stuff can be found in google though).
 
Back
Top