Site søgning

Nyeste links

Automatiser konfiguration af performance monitor

Jeg har jævnligt haft brug for at performance måle diverse servere og arbejdsstationer. Dette kan man jo gøre med de indbyggede tools i Windows.
I Performance Monitors GUI kan man udvælge countere, konfigurere start- og sluttid, osv. Da jeg havde gjort dette maaaange gange manuelt, tænkte jeg, at dette måtte man da kunne automatisere. WMI dur ikke til dette, men det gør logman.exe, som er en del af Windows server 2003. Her følger nogle
muligheder, som jeg naturligvis har testet:

Opret en counter samling der kun måler CPU aktivitet:
logman.exe create counter TMsCPUTaeller -c "\Processor(_Total)\% Processor Time" -si 00:08 -o "c:\TMs_perflogs\daily_log"

Den samme linie kan naturligvis proppes ned i en bat fil, så skal man bare huske at % tegn i windows shell anvendes til variabler, og derfor tilføje yderligere et % tegn, således:
logman.exe create counter tmtest1 -c "\Processor(_Total)\%% Processor Time" -si 00:08 -o "c:\TMs_perflogs\daily_log"

Man kan angive flere countere efter hinanden:
logman.exe create counter tmtest1 -c "\Processor(_Total)\% Processor Time" "\Memory\pages/sec" -si 00:08 -o "c:\TMs_perflogs\daily_log"
(husk nu det ekstra % tegn hvis du angiver kommandoen i en bat fil)

Man kan også have alle de mange tællere man ønsker at anvende, i en separat fil, her kaldet UdvalgteTallere.txt, således:
logman.exe create counter TMsCPUTaeller -cf UdvalgteTallere.txt -si 00:02

Med update kommandoen kan man erstatte, ikke tilføje, de udvalgte countere med andre:
logman.exe update tmtest1 -c "\Memory\pages/sec"

Logman accepterer en del kommando linie options, bl.a. kan man konfigurere start- og sluttid (schedule fanebladet), få den til at starte nu, og meget mere.


Min erfaring siger at...
Logman ignorerer enhver stavefejl, og opretter hovedløst en counter samling med de countere man angiver. Hvis jeg f.eks., jvf. første eksempel, vil måle CPU forbruget, skal jeg angive:
"\Processor(_Total)\% Processor Time"
men hvis jeg laver en sdawefajl (bemærk x'et til sidst):
"\Processor(_Total)\% Processor Timex"
så oprettes en counter med dette navn, altså inklusiv x'et. Jeg kan efterfølgende starte countersamlingen, uden at få brok fra maskinen. Men når jeg senere har stoppet dataopsamlingen, og derefter vil se indholdet, kan jeg ikke vælge den pågældende counter, for den findes jo ikke i
Windows. Derfor har Windows ikke kunnet samle data med denne.
For at teste sin syntaks, skal man derfor lave noget dataopsamling med counter samlingen, og derefter checke antallet af countere i opsamlingen.


Et eksempel på hvordan filen med countere, UdvalgteTallere.txt, kan se ud:

"\Processor(_Total)\% Processor Time"
"\Processor(_Total)\Interrupts/Sec"
"\Memory\Available Mbytes"
"\Memory\Pages/sec"
"\PhysicalDisk(_Total)\% Disk Time"
"\PhysicalDisk(0 C:)\% Disk Time"
"\PhysicalDisk(_Total)\Current Disk Queue Length"
"\PhysicalDisk(0 C:)\Current Disk Queue Length"
"\Paging File(_Total)\% Usage"
"\Paging File(\??\c:\pagefile.sys)\% Usage"
"\Network Interface(*)\Bytes Total/Sec"
"\TCPv4\Segments/Sec"

Bemærk! Dette site anvender cookies

Hvis ikke du ændrer dine browser indstillinger, accepterer du alle vore cookies. Lær mere

Jeg accepterer vilkårene

Hvis du keder dig, kan du læse mere om cookies på siden Cookie information.