I
Indiana
Threadstarter
- Dabei seit
- 04.06.2007
- Beiträge
- 1
Hi all,
Ich versuch gerade mit VBS per WMI die CPU-Auslastung auszulesen.
Dabei will ich nicht nur den aktuellen stand sondern die Auslastung der letzten zeit (z.b. 5min Interval).
1) Über das WMI Objekt Win32_PerfFormattedData_PerfOS_Processor bekomme ich nur den aktuellen Wert.
Dieser ist zusammengerechnet auch immer nur 99%, aber das 1% denk ich mir mal zur Systemauslastung dazu.
2) Es gibt auch ein Win32_PerfRawData_PerfOS_Processor welches COUNTER enthält so das ich mir zwischen zweimal Auslesen die verbratene zeit ausrechnen können müßte.
Da kommen aber sehr komische werte dabie raus :-/
Hier ein Beispiel mit 1Sekunde Interval:
Variante 1 hat den großen nachteil das wenn ich das nur alle 5min auslese ich einen peak verpassen könnte ohne es zu merken.
Variante 2 würde zwar nur den durchschnitt auf 5 min bringen, aber es wäre wenigstens eine erhöhung zu erkennen.
So, also die eigentliche Frage ist wie ich aus den Werten des Win32_PerfRawData_PerfOS_Processor ein 100% wert über die zeit X bekomme.
Ich versuch gerade mit VBS per WMI die CPU-Auslastung auszulesen.
Dabei will ich nicht nur den aktuellen stand sondern die Auslastung der letzten zeit (z.b. 5min Interval).
1) Über das WMI Objekt Win32_PerfFormattedData_PerfOS_Processor bekomme ich nur den aktuellen Wert.
Dieser ist zusammengerechnet auch immer nur 99%, aber das 1% denk ich mir mal zur Systemauslastung dazu.
2) Es gibt auch ein Win32_PerfRawData_PerfOS_Processor welches COUNTER enthält so das ich mir zwischen zweimal Auslesen die verbratene zeit ausrechnen können müßte.
Da kommen aber sehr komische werte dabie raus :-/
Hier ein Beispiel mit 1Sekunde Interval:
Code:
cscript //NoLogo cpu_test.vbs
system.value 901296
user.value 1702448
idle.value 7510800
irq.value 0
total.value 10114544
Variante 1 hat den großen nachteil das wenn ich das nur alle 5min auslese ich einen peak verpassen könnte ohne es zu merken.
Variante 2 würde zwar nur den durchschnitt auf 5 min bringen, aber es wäre wenigstens eine erhöhung zu erkennen.
So, also die eigentliche Frage ist wie ich aus den Werten des Win32_PerfRawData_PerfOS_Processor ein 100% wert über die zeit X bekomme.