Service beim Start eine bestimmte CPU zuweisen
-
Hallöchen,
man kann ja im Task Manager einem Prozeß einer bestimmten CPU zuweisen, bzw. nicht gewünschte ausschließen. Bei einem Service scheint das nicht zu funktionieren. Kann ich das schon im Code die Prozeßzugehörigkeit festlegen, oder gibt es irgendeine andere Möglichkeit diese zu ändern, während der Service schon läuft ?
MfG
-
IMHO ist das nicht möglich aber welchen Sinn soll das machen?
Windows hat die größte Performance wenn Du ihm keine Regeln für so etwas gibst.
-
warum soll das nicht gehen?
es gibt doch Programme, die das mit laufenden anderen Processsen machen können, warum soll man das nicht mit dem eigenen Process machen können.Edit:
noch als stichwort:
Set/GetProcessAffinityMask
-
Du kannst *nur* einem Process ein Prozessor *entziehen*! Nicht aber einen Prozessor einem Prozess exclusiv _zuweisen_!
Einzige Lösung:
- *Allen* Prozessen den entsprechenden Prozessor _entziehen_ und nur dem einem diesen _nicht_ entziehen.Ich kenne aber _keinen_ Fall, wo dies zu einer Leistungs*steigerung* führt. Es führ i.d.R. immer zu einem Leistungs*abfall*.
-
naja bei mancjhen älteren anwendungen ist es nötig, ihr nur einen Processor zuzuweisen, weil sie sonst probleme bereitet.
(keine ahnung warum)
das alte unreal turnament hatte zum beispiel so ein problem, es lief auf einem dualcore extrem langsam. Nach entziehen der zweiten cpu gehts.
-
Typisch, wenn entsprechende multithreading Fehler eingebaut wurden und nur auf Mono-CPU Rechnern getestet wurde.
-
is aber nicht das einzige beispiel.
aber vor 10 Jahren gabs ja auch kaum multicorecpus