Batch CMD Batch Probleme mit CPU Leistung

Balli01

Cadet 1st Year
Registriert
Okt. 2009
Beiträge
12
Tach auch,
Hab da ein kleines Problem mit einem kleinen Script.
Das Script soll dauerhaft die Taskliste nach einem bestimmten Prozess durchsuchen.
Nachdem das Script den Prozess erkannt hat,
soll es eine Bat-datei starten.
Nachdem das prozess zugehörige Programm beendet wird,
soll das Script noch eine weitere Bat datei starten und wieder von vorne anfangen.
Dies konnte ich alles noch mit meinem doch recht wenig vorhandenen Fachwissen über sowas noch Realisieren.
Und nun zu meinem Problem.
Das Script verbraucht sehr viel CPU leistung.
Ich hab im normal Betrieb ca 2% Leistung genutzt.
nach start des Scripts schießt die verbrauchte Leistung auf ca 40% hoch.
Würd mich Freuen wenn hier jemand vieleicht eine Alternative weiß,
wie ich das besser gelöst bekomme.
Hier mal das script selber:
Code:
:checkmpc
tasklist|find "mpc-hc64"
if %errorlevel%==0 start D:\Movie.bat && "D:\MPC HomeCinema (x64)\mpc-hc64.exe">NIL: && start D:\IDLE.bat && goto checkmpc
if %errorlevel%==1 goto checkmpc
 
Heißt das, dass die 40% Auslastung solange der Fall sind, bis du das Programm der Taskliste beendest?

Gruß,

badday
 
Das Script läuft so schnell wie möglich, wie wärs mit ner kleine Bremse a la sleep(100) oder so, ich weiß jetzt nicht genau, was der batch befehl ist.
(oder bei start hinten hin /w, dann warete er, bis sich der Media-Player beendet hat)

Hier wär so ein Programm. einfach direkt oben rein sleep -m 100 oder so, dann sollte die Last sinken
 
Zuletzt bearbeitet:
Hallo Badday,

Ja, sobald Ich das Script starte geht die auslastung so hoch.
Erst wenn der Prozess auf den das Script wartet gestartet wird,
geht die Auslastung wieder nach unten,
weil das Script ja solange nichts mehr zu tun hat.
Sobald man das Programm wieder beendet geht die Auslastung wieder so hoch,
weil das Script wieder nach dem prozess sucht.
Nachdem das Script beendet wird geht auch wieder die Auslastung nach unten.

MFG
Der Balli
 
Hallo Blitzmerker,
Dein Ansatz war sehr gut,
Mir wäre es nur lieber wenn es mit Boardmitteln gehen würde.
Aber dank Dir hab ich einfach mal sleep bei Google eingetragen.
Wodurch ich auch was gefunden habe,
wie man das auch mit Boardmitteln realisiert bekommt.
Das klappt mit dem ping befehl auch ganz gut.
Code:
ping -n 7 -w 1000 1.2.3.4>nul
Dadurch hab ich im script bei jedem Durchgang sieben sekunden pause zwischen.
Also danke dir nochmal. meine auslastung ist dadurch runter zeischen 2% bis 12%.
Das langt auch schonmal im notfall.
Aber würd mich gerne noch über ein paar mehr vorschälge freuen
MFG
Der Balli
 
Tach nochmal Blitzmerker,
Hinter der Movie und der IDLE Bat steht nichts Besonderes,
das sind bloß Parameter für Rivatuner.
Ich takte meine Beiden Graka´s im 2d Modus sehr weit runter.
Und im 3d Modus halt auf normal Takt.
Aber leider reicht mein 2d Takt bei Filmen im 1080p format über dxva nicht ganz aus.
Und leider kann ich Rivatuner nicht sagen wenn MPC gestartet wird das er noch ne zwischen Taktung nutzen soll.
darum auch das script.
Das schaut nach dem Prozess vom MPC und schaltet die Movie.bat,
sobald er den MPC in den Prozessen entdeckt hat.
Darauf hin ruht das script und macht garnichts bis ich MPC beendet habe,
dann wird die IDLE.bat gestartet,
welche die parameter für den 2d Modus wieder an rivatuner zurück gibt. und dann fängt das script von vorne an.

Hier noch mal die ganzen scripts
einmal das scribt selber:
Code:
:checkmpc
ping -n 7 -w 1000 1.2.3.4>nul
tasklist|find "mpc-hc64"
if %errorlevel%==0 start D:\Movie.bat && "D:\MPC HomeCinema (x64)\mpc-hc64.exe">NIL: && start D:\IDLE.bat && goto checkmpc
if %errorlevel%==1 goto checkmpc
Movie.bat
Code:
start "" "C:\Program Files (x86)\RivaTuner v2.24 MSI Master Overclocking Arena 2009 edition\RivaTuner.exe" /L:4aec72a1
start "" "C:\Program Files (x86)\RivaTuner v2.24 MSI Master Overclocking Arena 2009 edition\RivaTuner.exe" /L:4aec72cf
exit
und die Idle.bat
Code:
start "" "C:\Program Files (x86)\RivaTuner v2.24 MSI Master Overclocking Arena 2009 edition\RivaTuner.exe" /L:4aec7211
start "" "C:\Program Files (x86)\RivaTuner v2.24 MSI Master Overclocking Arena 2009 edition\RivaTuner.exe" /L:4aec724b
exit
 
Wird eigentlich der Errorlevel wieder zurückgesetzt?
Und es ginge noch kürzer, den errorlevel abfragen und bei 1 sofort wieder nach checkmpcalso
Code:
:checkmpc
ping -n 7 -w 1000 1.2.3.4>nul
tasklist|find "mpc-hc64"
if %errorlevel%==1 goto checkmpc
D:\Movie.bat
start "D:\MPC HomeCinema (x64)\mpc-hc64.exe">NIL: /w
D:\IDLE.bat
goto checkmpc
Ich habs nicht getestet, aber so sollte es gehen, mit möglicherweise weniger Last
 
mal ne andere Frage, rein interesseshalber, was willst Du mit dem Script erreichen?
 
Hallo nochmals an Blitzmerker,
Den Code den du mir übnerreicht hast sieht schick aus,
Nur leider Stellt sich dadurch nach dem starten des Programms Leider das script ab.
Wodurch die IDLE.Bat danach nicht mehr bearbeitet wird. Aber danke für die mühe,
damit werd ich aufjedenfall weiterprobieren.

@Gabbagandalf
Tach erstmal,
Ich selbst surfe am meisten am PC,
ab und an zock ich ein paar games und schaue mir filme damit an.
Deswegen brauch ich die Leistung meiner grakas natürlich hauptsächlich nur,
wenn ich ein spiel spiele.
Also hab ich mir gedacht das ich im 2d modus die taktraten runterschrauben kann.
Ergo hab ich mir Rivatuner installiert und es so eingestellt,
das wenn ich nicht im hardware accerlated modus bin,
meine Graka auf 120MHz und der speicher von der auf 220MHz runtergeregelt wird.
Sobald aber das event hardware accerlated an geht,
schaltet sie wieder auf die standart Taktung,
welche bei 750MHz und beim Speicher bei 900MHz liegt.
Soweit sogut. Aber leider wird der dvxa modus nicht als hardware accerlated angenommen,
wodurch der takt von 120/220MHz zuwendig für meine 1080p Filmchen ist.
Darum hab ich ein weiteres Profil angelegt welche die erste Graka auf 350/450MHz taktet und die zweite bei 120/220MHz lässt.
Nur leider kann man rivatuner nicht sagen:
"wenn ein Bestimmter Prozess gestartet wird,
dann lade Profil 350/450Mhz,
und danach schalte bitte wieder wenn Prozess beendet ins Profil 120/220Mhz".
Und da ich keine lust dazu hatte die Profile händisch zu aktivieren,
musste ich mir halt was einfallen lassen wie ich das automatisiert hinbekomme.
Wodurch ich auf die idee dieses scripts gekommen bin.
Die vorteile dadurch sind:
"1. geringerer stromverbrauch, 2. Leiserer PC, 3. Spass am basteln"
Ich hoffe ich konnte deine neugier etwas damit befriedigen.
Falls sonst noch jemand interesse hat mittels dem rivatuner sowas zu machen,
kann ich auch gerne bei gelegenheit ein kleines Howto darüber schreiben.
Falls es Freiwillige gibt die das gerne gegenlesen.
Denn meine Rechtschreibung ist echt Be*******.
MFG
Der Balli
 
aha... klingt zumindest recht spannend, ansonsten hätte man das über das BIOS oder über Rivatuner direkt auto. regeln lassen können. Das jedoch die HW-Beschleunigung nicht als "3D" erkannt wird ist natürlich blöd... Aber wenn das mit der Batchdatei klappt, ist ja alles gut ;)

Oder man macht sich halt 2 Verknüpfungen auf den Desktop ;)
Per Rivatuner: 1 x 2D Modus und 1 x 3D Modus...
 
@Gabbagandalf,
ja das Bios kann auch bloß zwei Zustände und nicht wie ich es brauch drei Zustände.
Die Autoregelung regelt selbst nicht soweit runter wie ich es gerne hätte.
Das mit den zwei verknüpfungen hätte ich keine lust drauf weil ich dann immer erst per hand die anwählen müsste. Aber trotzdem danke für die vorschläge.
Ich finds echt gut das es hier so nette Leute gibt, die sich über sowas gedanken machen

@Blitzmerker
Ja genau sowas hatte ich auch schon gemacht, funktioniert auch schön.
Aber dadurch muss ich erst die batch starten und dann die datei über den MPC wählen.
Drum wollte ich auch das auch via Prozesssteuerung haben. Ja ich bin etwas verwöhnt.
Aber die Aktion hat mir bisher sehr viel spass gemacht.
Drum hab ich es auch hier gepostet.
Weil wie du auch schon vorher sagtest "Ein Banales script". und so ist es auch im "Quick and dirty Format" erstellt worden.
Ich hoffe das ich noch ne etwas Professionellere lösung dafür finde,
aber so wie es jetzt läuft bin ich schon echt zufrieden.
Also hab nochmal vielen dank, hast mir gut weitergeholfen.

@All wünsch euch noch einen schönen Abend und eine schöne Nachtruhe
 
Zurück
Oben