SouLEateR
0db is zu laut
|
Hi, ich such ein Programm, dass es mir möglich macht die CPU Affinity bei bestimmten Programmen automatisch zu setzten, wenn es gestartet wird. Ich hab keinen Bock, das immer manuell zu machen. Gibt's so etwas?
|
Chrissicom
Rise of the Ryzen
|
Einfach einen Switch an die Programmverknüpfung hängen, z.B.
c:\windows\system32\cmd.exe /C start /affinity 1 notepad.exe
/affinity 1 heißt in dem Fall CPU 0. Der affinity Counter beginnt also bei 1, während der CPU Counter bei 0 beginnt.
|
Hornet331
See you Space Cowboy
|
|
Chrissicom
Rise of the Ryzen
|
http://home.arcor.de/jasonvoorhees2.../easytoolz.html
Funzt hald nur mit 32bit apps, dafür gehts auch automatisch und gibt auch die option, das es alle anderen progies von dem cpu wegräumt. Hab das eben mal getestet und mit Photoshop 64-bit unter Windows Server 2008 R2 (ohnehin 64-bit) hat das geklappt. Ich finde das Tool aber etwas überdimensioniert wenn man nur die CPU Affinity steuern will sonst ne coole Sache.
|
that
Hoffnungsloser Optimist
|
Braucht man das, wenn der Scheduler des OS was taugt?
|
COLOSSUS
AdministratorGNUltra
|
Nah. Vermutlich verliert man dadurch sogar ein Quentchen Performance unter realen Bedingungen. Der OS-Scheduler kann meist besser entscheiden, was fuer einen gewissen Prozess gerade an Affinitaet sinnvoll ist, als der User.
|
Chrissicom
Rise of the Ryzen
|
Ein OS mit perfektem Scheduler gibt es nicht, insbesondere keinen der gescheit mit HT umgeht.
Es kann durchaus sinnvoll sein, eine Anwendung auf 1 oder 2 Cores zu beschränken. Wenn ich beispielsweise 2 x264 Videos encode und dabei noch schnell mit Photoshop arbeiten möchte, wäre es nicht so lustig wenn das encoden alle Cores voll belastet. Woher soll das System/der Scheduler denn wissen, dass ich der Anwendung nicht die maximal mögliche Leistung zur Verfügung stellen will?
P.S. Wenn ich 4 x264 Videos gleichzeitig encode, geht es schneller wenn ich jedem einen Core gebe, als wenn ich das System selber arbeiten lasse. Sowohl unter Windows als auch Linux. Wers nicht glaubt kann es ja selber versuchen. Das Problem ist hier einfach, das selbst ein einziges switchen der Cores (was mit an Sicherheit grenzender Wahrscheinlichkeit mehrmals auftritt) den Prozess verzögert im Gegensatz zum ausführen auf einem dedizierten Core. Systemprozesse werden hier jedoch sowohl unter Linux als auch Windows intelligent dazwischen gescheduled.
Bearbeitet von Chrissicom am 02.11.2009, 00:54
|
that
Hoffnungsloser Optimist
|
Ein OS mit perfektem Scheduler gibt es nicht, insbesondere keinen der gescheit mit HT umgeht. Sowohl Linux als auch Windows (ich glaub seit XP) sind HT-aware. Wenn ich beispielsweise 2 x264 Videos encode und dabei noch schnell mit Photoshop arbeiten möchte, wäre es nicht so lustig wenn das encoden alle Cores voll belastet. Woher soll das System/der Scheduler denn wissen, dass ich der Anwendung nicht die maximal mögliche Leistung zur Verfügung stellen will? Prozessprioritäten. Wenn ich mit 8 Threads im Hintergrund irgendwas compiliere, kann ich im Vordergrund ganz normal arbeiten. P.S. Wenn ich 4 x264 Videos gleichzeitig encode, geht es schneller wenn ich jedem einen Core gebe, als wenn ich das System selber arbeiten lasse. Sowohl unter Windows als auch Linux. Das mag schon sein, aber wie groß ist der Unterschied wirklich? 1%? 5%? 10%? noch mehr?
|
Mr. Zet
Super Moderatorresident spacenerd
|
that, ich weiß aus verlässlicher Quelle, dass du selbst schon die Erfahrung gemacht hast, dass ein gutes Scheduling vom OS in manchen Fällen einfach nicht ausreicht: Unreal Tournament (99) läuft (unter Windows zumindest) absolut unbrauchbar, solange man es nicht auf nur einen Core beschränkt.
|
that
Hoffnungsloser Optimist
|
Unreal Tournament (99) läuft (unter Windows zumindest) absolut unbrauchbar, solange man es nicht auf nur einen Core beschränkt. AFAIR lief das mit einem Core nicht besser. Aber wenn ich die Kiste wieder mal zusammenbaue, werde ich das nochmal testen.
|
InfiX
she/her
|
ich hatte das ut99 problem mit dem core 2 duo auch, aber mit dem i7 nicht mehr.
also bei mir rennts auf jedenfall jetzt ohne irgendwas.
|
Mr. Zet
Super Moderatorresident spacenerd
|
Aha, wusste nicht, dass das auch vom Prozessor so stark beeinflusst wird. Ich kann nur sagen, dass es mit Athlon 64 X2 (3800+) weder mit WinXP, noch mit Win7 geht.
Es hängt fest, rennt im Anschluss super schnell, quasi Zeitraffer, bis wieder der Punkt erreicht wurde, wo man eigentlich gerade sein sollte, und das ganze wiederholt sich sogleich von vorne.
Auf einen Core beschränken und es geht problemlos (meistens jedenfalls)...
|
Chrissicom
Rise of the Ryzen
|
Also ich hab bei dem Spiel irgendeinen Startparameter gesetzt, der das Problem behoben hat, ich hab aber jetzt keine Ahnung mehr was das war. Könnte es ja mal wieder installieren und testen. 1%? 5%? 10%? noch mehr? 20-30% also deutlich messbar. 1%-3% würde ich noch als Messungenauigkeit bezeichnen.
|
COLOSSUS
AdministratorGNUltra
|
Dann ist der Windows-Scheduler einfach Muell.
|
Chrissicom
Rise of the Ryzen
|
Wie ich geschrieben habe, war der selbe Effekt unter Linux (Ubuntu 9.04 64-bit) zu beobachten ...Mac konnte ich nicht testen.
|