Programm auf Unterschreitung der CPU-Auslastung überprüfen
Hallo zusammen.
Ich möchte gerne auf einem PC mit Win XP Pro SP 2 ein Programm auf die Unterschreitung einer "Mindest"-CPU-Auslastung kontrollieren. Es hört sich
komisch an, hat aber einen nützlichen Hintergrund.
Wir haben in der Firma eine vollautomatische Waage, bei der die Fahrer via Barcode-Scanner selber wiegen können. Das Programm fragt die Waage
dauernd auf Eingaben ab und läuft deshalb auf einer Dual-Core-CPU mit einer Auslastung zwischen 45% und 55%. Leider fällt das Programm hin und
wieder aus dem Vollautomatik-Modus raus und somit sind keine Eingaben der Fahrer mehr möglich. Der Bildschirm steht etwas abseits und somit fällt
das nicht sofort auf.
Nun bin ich auf der Suche nach einem Programm oder einem Skript das die CPU-Auslastung überprüft und unter einem bestimmten Wert via Ton-Ausgabe
Alarm schlägt.
Google war mir keine große Hilfe. Alle Programme die ich gefunden habe überprüfen die Anwendungen auf Überschreitung der CPU-Zeit.
Ich hoffe ihr könnt mir etwas unter die Arme greifen.
Viele Grüße
Hans
Ich möchte gerne auf einem PC mit Win XP Pro SP 2 ein Programm auf die Unterschreitung einer "Mindest"-CPU-Auslastung kontrollieren. Es hört sich
komisch an, hat aber einen nützlichen Hintergrund.
Wir haben in der Firma eine vollautomatische Waage, bei der die Fahrer via Barcode-Scanner selber wiegen können. Das Programm fragt die Waage
dauernd auf Eingaben ab und läuft deshalb auf einer Dual-Core-CPU mit einer Auslastung zwischen 45% und 55%. Leider fällt das Programm hin und
wieder aus dem Vollautomatik-Modus raus und somit sind keine Eingaben der Fahrer mehr möglich. Der Bildschirm steht etwas abseits und somit fällt
das nicht sofort auf.
Nun bin ich auf der Suche nach einem Programm oder einem Skript das die CPU-Auslastung überprüft und unter einem bestimmten Wert via Ton-Ausgabe
Alarm schlägt.
Google war mir keine große Hilfe. Alle Programme die ich gefunden habe überprüfen die Anwendungen auf Überschreitung der CPU-Zeit.
Ich hoffe ihr könnt mir etwas unter die Arme greifen.
Viele Grüße
Hans
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116984
Url: https://administrator.de/forum/programm-auf-unterschreitung-der-cpu-auslastung-ueberpruefen-116984.html
Ausgedruckt am: 22.12.2024 um 09:12 Uhr
4 Kommentare
Neuester Kommentar
Zitat von @bugx:
Google war mir keine große Hilfe. Alle Programme die ich
gefunden habe überprüfen die Anwendungen auf
Überschreitung der CPU-Zeit.
Bei einem Script oder Batch bestimmst du selbst was passieren soll.Google war mir keine große Hilfe. Alle Programme die ich
gefunden habe überprüfen die Anwendungen auf
Überschreitung der CPU-Zeit.
Ich hoffe ihr könnt mir etwas unter die Arme greifen.
Schau dir mal diesen Beitrag an CPU Auslastung per Skript abfragenWas willst du denn machen Programm neu starten Alarm-Sound abspielen etc?
Gruß
LotPings
Tja ich bin nicht sicher ob das überhaupt mit einem Programm zuverlässig funktionieren kann. Die Messung erfolgt ja immer an diskreten Zeitpunkten.
Probiere mal dieses Script aus, mit firefox als anwendung kriege ich hier nachvollziehbare Werte.
Ändere in Zeile 6 firefox in deinen Process Namen wie im TaskMgr angezeigt.
Wenn da einigermaßen konstante Werte rauskommen kann man darauf aufbauen.
Gruß
LotPings
Probiere mal dieses Script aus, mit firefox als anwendung kriege ich hier nachvollziehbare Werte.
Ändere in Zeile 6 firefox in deinen Process Namen wie im TaskMgr angezeigt.
'Get % Processor Time for a process
'Connect to Local Machine
set wmi_service = GetObject("winmgmts:{impersonationlevel=impersonate}!\root\cimv2")
sObjectPath = "Win32_PerfRawData_PerfProc_Process.Name=" & chr(34) & _
"firefox" & chr(34)
wscript.echo sObjectPath
set perf_instance1 = wmi_service.get( sObjectPath )
N1 = perf_instance1.PercentProcessorTime
D1 = perf_instance1.TimeStamp_Sys100NS
while true
' 1 Sekunde Pause = 1000 ms
wscript.sleep(1000)
set perf_instance2 = wmi_service.get( sObjectPath )
N2 = perf_instance2.PercentProcessorTime
D2 = perf_instance2.TimeStamp_Sys100NS
if ( 0 = (D2-D1) ) then
wscript.echo "divide by zero"
else
PercentProcessorTime = ((N2 - N1) / (D2 - D1)) * 100
wscript.echo "% Processor Time = " , PercentProcessorTime
end if
N1 = N2
D1 = D2
wend
set wmi_service = nothing
Wenn da einigermaßen konstante Werte rauskommen kann man darauf aufbauen.
Gruß
LotPings