bloodstix

Skript für Prozessorzugehörigkeit

Hallo Leute,

Ich hätte gerne ein Programm/Skript das mir alle Prozesse, bei denen das möglich ist, bis auf einen ausgewählten Prozess, von CPU 1 und 0 entfernt, damit mein Prozess da die Leistung alleine für sich hat.
Es geht um die im Taskmanager einzustellende "Prozessorzugehörigkeit" von Prozessen.

Leider bin ich bisher nicht fündig geworden.

Kennt jemand ein Skript oder Programm für diesen Zweck oder weiss wie man das per Skript löst?

Grüße
bloody
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673021

Url: https://administrator.de/forum/skript-fuer-prozessorzugehoerigkeit-673021.html

Ausgedruckt am: 17.07.2025 um 01:07 Uhr

BiberMan
BiberMan 25.05.2025 aktualisiert um 18:57:06 Uhr
PS-Quicky
# Programmname
$progname = "myprog"  
# Wo soll dieser Prozess laufen Kern 1 + 2 = (0x1 + 0x2)
$cpu = 3
# Prozess holen
$prog = Get-Process -Name $progname
# Prozess auf den gewünschten Kern schieben
$prog.ProcessorAffinty = $cpu
# CPU maske für andere Prozesse ermitteln
$cpumask = [math]::Pow(2, [environment]::ProcessorCount) - 1 - $cpu
# alle Prozesse außer dem gewählten die auf Kern 1 + 2  laufen auf die anderen verschieben
Get-Process | ?{$_.Name -ne $progname -and $_.ProcessorAffinity -band $cpu} | %{$_.ProcessorAffinity = $cpumask}

Was die Werte für die Affinity bedeuten siehe:
learn.microsoft.com/de-de/dotnet/api/system.diagnostics.process. ...
stackoverflow.com/questions/19187241/change-affinity-of-process- ...
Penny.Cilin
Penny.Cilin 25.05.2025 um 19:33:43 Uhr
1. Welche CPU ist verbaut?
2. Wieviele Cores hat die CPU?
3. Was genau ist der Sinn Deines Nliegens?

Gruss Penny.
bloodstix
bloodstix 25.05.2025 um 20:34:50 Uhr
Mein Anliegen ist ein Spiel flüssiger zum laufen zu bekommen.
Prozessor ist ein Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, 3192 MHz, 6 Kern(e), 12 logische(r) Prozessor(en).
Penny.Cilin
Penny.Cilin 25.05.2025 um 20:52:11 Uhr
Woraus schließt Du, daß das Spiel auf CPU 0 und 1 flüssiger läuft, als auf den anderen?
Du hast doch nur EINE CPU! mit 6 Kernen und 13 logischen Prozessoren

Meines Wissens nach hat der i7-8700 noch keine P un E-Kerne.
Th0mKa
Th0mKa 25.05.2025 um 22:27:21 Uhr
Zitat von @Penny.Cilin:

Woraus schließt Du, daß das Spiel auf CPU 0 und 1 flüssiger läuft, als auf den anderen?

Zumal CPU0 ja auch gerade die ist die Windows nutzt wenn Prozesse nichrt auf andere Kerne verlegt werden können
maretz
maretz 26.05.2025 um 07:49:58 Uhr
ich glaube da gibt es einige missverständnisse und ich würde da nicht eingreifen wenn nicht zwingend nötig.
Denn zum einen wird es nicht funktionieren das ein Spiel auf CPUx läuft und _wirklich_ gleichzeitig ein anderes Programm auf nem anderem Kern -> da dabei dann Probleme zB. mit Memory-Mgmt usw. aufschlagen werden (für welches Programm ist jetzt der Wert im Register X, welches Programm darf grad mal auf die Soundkarte/Grafikkarte/... gehen )? Es wechselt schnell genug damit der Benutzer _glaubt_ es ist wirklich gleichzeitig, praktisch ist es das nur nicht.

Was parallel laufen kann sind threads / prozesse _eines_ Programmes (und Spiele nutzen das iirc auch ganz gern). Nur: Wenn man das Programm an der Stelle auf eine CPU bindet dann schiesst man sich selbst in den Fuss. Denn da wo das Spiel vorher nen Prozess auf nen anderen Kern legen konnte ist es jetzt als "Single-Core" gepackt... Ich glaube irgendwie das es nicht das ist was der TO will...
Crusher79
Crusher79 26.05.2025 um 07:53:45 Uhr
Moin,

das gibt einen Windows XP Vibes!

bitsum.com/

bitsum.com/howfree/

Geht auch anders. Process Lasso wenn die CPU föhnt. CPU Afinity kann man auch einstellen.

Wie @Penny.Cilin hat es meist andere Gründe.

Bevor wir uns in Scripten vertiefen, wäre ggf. das Tool ein Schnellschuß. Vor allem kannst du selber nach Herzenslust die an den Task rumschrauben.

Bei MS SQL Server ist es bekannt, bzw. by design, dass je nach Konfiguration nicht alle Kerne genutzt werden, die man so sieht. Man sieht es in Performance Logs.

mssqltips.com/sqlservertip/4801/sql-server-does-not-use-all-assi ...

Beim SQL Server hat es aber wie gesagt andere Gründe.

mfg Crusher
Crusher79
Crusher79 26.05.2025 um 08:04:42 Uhr
forums.tomshardware.com/threads/cpu-cores-are-not-fully-utilized ...

Speziell zum Thema Games:
- RAM Channel?

Einige Spiele scheinen bei Design mehr auf die ersten Cores anzupsringen.

Der Thread dort wurde aber wohl durch die RAM Channel Settings "gelöst".
Crusher79
Crusher79 26.05.2025 um 08:32:58 Uhr
Zitat von @maretz:

ich glaube da gibt es einige missverständnisse und ich würde da nicht eingreifen wenn nicht zwingend nötig.

Sehe ich normal auch so.

Was aber wirklichi interessant ist, dass es Bitsum Process Lasso immer noch gibt. Beim RAM Booster oder wie das teil mal genannt wurde, wurde man ja schlichtweg verarscht. Mehr RAM oder was einzubauen, oder wie war das Verspreichen?

Process Lasso hält sich schon verdammt lange. XP mit Athlon 2000+? Ich weiß es nicht mehr genau. Aber dieses "Tuning Tool" ist hartnäckig.

Vlt. dann doch bracuhbar... Kribbelt gerade. Wobei ich Anwendung zum Tweaken hier habe.

Meist war der Sinn Prozesse einzufangen, damit der Lüfter nicht am Brüllen ist.
maretz
maretz 26.05.2025 um 09:47:08 Uhr
es gibt ja durchaus gründe warum man sowas machen wollte - sei es zum testen (ob ne software eben auch auf single-core läuft), sei es zB. im Bereich von VMs wo man eben ner virtuellen Maschine ggf. etwas zuweisen möchte. Oder auch im Bereich von Hyperthreading wo man ggf. möchte das ein Prozess eben nicht auf dem "angeflanschten" HT sondern auf der "vollen" CPU läuft... Es ist also nicht zwingend "generell unsinnig", es ist nur _meiner Meinung nach_ Unsinnig in diesem Kontext wenn man hofft nen Spiel auf ne CPU zu legen und den Rest vom System wegzupacken...

Wie so oft in der IT ist es eben Abhängig von "was willst du" -> dasselbe hast du ja mit Threads, es _kann_ Sinn machen ein Programm für parallel-verarbeitung zu gestalten, es _kann_ eben auch Sinn machen das nicht zu tun (weil dann einfach eh nur aufs Ergebnis gewartet werden muss)...
bloodstix
bloodstix 26.05.2025 um 09:52:46 Uhr
Ich wollte lediglich schauen ob es ein wenig runder läuft wenn es die ersten beiden Kerne für sich alleine nutzen kann.
Penny.Cilin
Penny.Cilin 26.05.2025 aktualisiert um 10:38:16 Uhr
Wobei die neuen Intel Cores ja heutzutage P bzw. E-Kerne haben. Sprich für Single CPU mit hoher Leistung sind die P-Kerne gedacht. Bei Programmen, welche für SMP (Symmetric Multi Processing) entwickelt worden sind, kommen die E-Kerne zu tragen. Weil hier die Lastverteilung auf mehrere Cores den gewünschten Geschwindigkeitsgewinn bringt.

Erfahrung aus der Vergangenheit: Der OS/2 eBusiness Server war damals (Ende der 90er-Anfag 2000) eines der Betriebssysteme, welches SMP mit 128 CPUs unterstützt hat. IBM hatte allerdings keine Hardware im Portfolio, welche so viele CPUs in der offenen Welt hatte.

Vom Mainframebereich reden wird mal nicht.

Gruss Penny.
maretz
maretz 26.05.2025 um 11:55:11 Uhr
Zitat von @bloodstix:

Ich wollte lediglich schauen ob es ein wenig runder läuft wenn es die ersten beiden Kerne für sich alleine nutzen kann.

Nun, das kann ich dir sogar so schon beantworten...

Nein - weil dein OS bereits darauf ausgelegt ist die aktiven (vordergrund)-prozesse zu priorisieren (ausser du hast nen Server-OS installiert). Und nebenbei ist die Zuweisung sogar dynamisch - wenn mehr Threads erzeugt werden kann eben auch mehr genutzt werden (sofern was frei ist), ändert aber natürlich nix daran das die Ergebnisse auch Sinn machen müssen (wenn ein Prozess permanent auf nen anderen warten muss bringt es wenig, DA darfst du aber vermuten das der Entwickler sich darum gekümmert hat)

Und zweite Antwort: Ja, wird es. Denn gefühlt wird es für dich allein deshalb schneller sein weil du was geändert hast und damit natürlich alle anderen die das OS gemacht haben es eh nicht können und es jetzt viel besser läuft (nennt sich selbstbestätigung - und wird häufiger auftreten als das man selbst sagt "tja, war blöd"). Dasselbe hast du aber am Ende auch wenn du den Rechner mal aufräumst (damals nannte sich das Defragmentieren), der wird dann auch gefühlt schneller, auch wenn das bei ner SSD heute nahezu keinen Unterschied bringt und du die Zeit die du dafür benötigt hast nie reinholen wirst... Siehe oben - es gab auch "Ram-Optimizer", es gibt div. "Tuning-Tools",... Und mein Mopped fährt halt auch min 10 km/h schneller wenn ich Supersport-Aufkleber drauf mache...
DerMaddin
DerMaddin 26.05.2025 um 12:01:40 Uhr
Moin,

der i7-8700 ist in der Regel nicht der Flaschenhals. Selbst, wenn du in 4k spielst. Es gibt aber durchaus Spiele-Titel, die CPU-lasting sind, aber erst bei hohen FPS (120+). Du hast keine Infos zu deinem PC gegeben, also Grafikkarte, RAM, OS, Monitorauflösung etc.

Also rein die CPU, nach jetzigem Stand, ist kein limitierender Faktor und du solltest nicht nicht in den Windows CPU Scheduler "pfuschen".
bloodstix
bloodstix 27.05.2025 aktualisiert um 20:02:31 Uhr
Also es geht um Diablo4 un mein Rechner ist aktuell wie folgt bestückt (schon ein paar Tage älter) das ist ein CPU-Z HTML-Logfile:
we.tl/t-TAFhaRAohJ

Versuche halt grad an allen Ecken noch was rauszukitzeln, weil ich mir HW-Upgrades derzeit nicht leisten kann.
Eigentlich läuft es ziemlich gut für die alte Hardware aber unwillkürlich kommt es ab und an zu starken rucklern, mehrminütigen Screenfreezes mit manchmal anschließendem Crash. Und das nicht wenn gerade massen von Monstern und Effekten aufm Bildschirm rumfliegen sondern oft einfach wenn ich grad in ner Ecke stehe und mein Inventar durchschaue. Also Maus übers Item, Itemtooltip müsste aufgehen und zack freeeeeze. Deswegen unwillkürlich, weil es sogar eher in Situationen auftaucht in denen es absolut keinen Grund gibt. Wie jemand der unbegründet plötzlich Panik bekommt und sich nicht mehr einkriegt (hoffe die Metapher wird klar^^).
Hab auch mit NVidia-Experience für Leistung optimiert und ingame noch ein paar Grafikoptionen im Spiel weiter runtergestellt. Spiel liegt auf SSD.
Es läuft auch nichts großartig im Hintergrund. Virencheck hab ich auch mit Malwarebytes u.a. durchgeführt aber nichts gefunden.
Im Taskmanager ist auch wenn das auftritt keine übermäßige Auslastung zu sehen face-sad

Grüße
bloody
maretz
maretz 27.05.2025 um 20:42:42 Uhr
Moin, erstmal - wenn du hier hilfe willst solltest du das nicht hinter irgendwelchen Links verstecken, da werden die meisten nich drauf gehen... Entweder als Bild hier einbinden oder als Text, ansonsten bleibt es bei unbekannter Hardware...

Aber nach dem was du beschreibst - was erwartest du das dein Plan hilft? Du stehst im Spiel in der Ecke und machst an sich gar nix - überraschung, am Ende macht deine CPU genauso gar nix. Ob die jetzt im Hintergrund grad mal bei Windows die Uhrzeit aktuallisiert, ob die im Hintergrund in Teams neue Nachrichten prüft oder ob die auf ne Bewegung im Spiel wartet - mehr als Warten kann die ja nunmal nicht (ok, die kann ggf. schneller warten ;) ).

Es ist aber durchaus möglich das du eben dein System auch schon kaputt optimiert hast. So würde ich jetzt nicht erwarten das diablo besonders von ner nvidea-Optimierung profitieren wird - ist ja jetzt nicht grad der 3D-Shooter mit 100 Effekten, speziell wenn du im Inventar bist is ja die 3D-Leistung jetzt eher überschaubar.

Ob es da ggf. mal Sinn macht dein Win neu zu installieren ohne die ganzen "optimierungen" kannst nur du entscheiden...
bloodstix
bloodstix 27.05.2025 aktualisiert um 21:04:32 Uhr
@maretz kennst du Diablo4 überhaupt? "ist ja jetzt nicht grad der 3D-Shooter mit 100 Effekten, speziell wenn du im Inventar bist is ja die 3D-Leistung jetzt eher überschaubar." Erstmal ja, sollte also wohl im Inventar nicht vorkommen das plötzlich das spiel stottert oder sogar freezed wenn grad nix passiert? Merkste jetzt was ich meine?
Dieser Kommentar trifft auf Diablo4 gar nicht zu. Die Grafik ist sehr hochwertig und mit Effekten wird nicht gespart, so ein hack&slay gerade im höheren Levelbereich zeigt hunderte von Monstern und 1000ende von Schadenszahlen usw. gleichzeitig an. Das ist weit mehr als in nem Ego-Shooter. Außerdem ist die Welt komplett 3D, die Kamera wird nur in Iso-Perspektive geführt.

Mein System kaputtoptimiert habe ich sicher nicht, bin jetzt ja auch kein Feld-und-Wiesen-User sondern eigentlich erfahrener Admin aber danke für die Unterstellungen maretz!

Ich grase einfach mein System ab und schaue was sich machen lässt. Das mit der Prozessorzugehörigkeit etc. war lediglich ein versuch so und wenn auf CPU0 und 1 nur der Spielprozess läuft, muss ja auch nichts warten oder?

Der Link enthält lediglich eine html-Datei von CPU-Z. Da ich eine Datei hier nicht übers Forum einbinden kann hab ich sie eben über weTransfer hochgeladen. Ich kann aber den Quelltext hier nicht posten, da sonst das Zeichenlimit überschritten wird.
bloodstix
bloodstix 27.05.2025 um 21:07:39 Uhr
Ansonsten hier von Windows die Systeminfo:
Prozessor	Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz   3.19 GHz
Installierter RAM	16,0 GB (2667mhz)
Nvidia GTX 1070ti
maretz
maretz 27.05.2025 um 21:12:13 Uhr
Also - zum einen, ja ich kenne das Spiel (auch wenn ichs auf der Playstation nutze). Die Anzahl die du da hast hat aber eben nicht zwingend was mit 3D Leistung zu tun. Das was die Karten da machen ist eher auf Lichteffekte (und damit mein ich nicht das bisserl blinken), Wassereffekte, Reflektionen,...

Als Erfahrener Admin solltest du doch eigentlich wissen wie man Prozesse an ne CPU bindet - und eben auch warum das für Gewöhnlich nicht viel bringt. Oder eben auch warum ein _wirkliches_ Multitasking so auch nicht existiert und wo der Unterschied zwischen "mehrere Programme laufen pseudo-parallel" und "Ein Programm hat mehrere Tasks parallel" ist. Und grad als erfahrener Admin solltest du doch auch wissen wie du Prozesse im Hintergrund stoppen kannst.

Aber ich glaube dein Problem ist eben nicht deine CPU... Du kannst es aber ja auch einfach probieren - es gibt ja genügtend freie Tools die eben die CPU-Leistung überwachen (halt zu den Kosten das es für den Test etwas CPU Leistung kostet). Lasse das einfach mal parallel mitlaufen und du kannst danach auch ggf. zielführender loslegen. Denn wenn du siehst das alle deine CPUs 100% haben - dann hast du nen generelles Problem was natürlich mit limitierung auf eine CPU nicht besser wird. Nur wenn du feststellst das das eine CPU auf 100% läuft und die anderen nix tun würde ich überhaupt in die Richtung weitersehen.
bloodstix
bloodstix 27.05.2025 um 22:48:42 Uhr
Generell weiss ich solche Dinge aber so ein Skript was das mal eben runterrattert kann ich mir mit meinen rostigen Batch-Kentnissen nicht mal eben so runterleiern deswegen fragte ich hier.
Und es wäre ja auch nur ein Test gewesen.
Ich denke ich müsste mal den RAM durch schnelleren ersetzen (die CPU sollte 3200 können oder?) und die Graffikkarte ..aber die sind ja seit dem Kryptohype echt schweinisch von den Preisen her... :/
DerMaddin
Lösung DerMaddin 28.05.2025 um 07:50:57 Uhr
Moin,

Diablo 4 ist verwendet eine sehr ausgewogene "Engine", die je nach vorhandenem System die Einstellungen selbst wählt. Deine CPU und GPU ist ausreichend. Wird zwar kein RT geben aber alles andere kannst du auf hohen Details spielen. Wie bereits erwähnt, die CPU ist hier vermutlich nicht das Problem.

Du kannst irgend ein Tool installieren, dass dir die Systemauslastung (CPU, RAM, GPU, GPU MEM...) als Overlay in einem Spiel anzeigt. Vielleicht ist dann ersichtlich wo der Engpass ist.

DDR-RAM Takt ist zwar nicht unwichtig aber der Unterschied zw. 2667 und 3200 wirst du im Spiel nicht merken.

Spielst du in 1080, 1440 oder 4k? Bei 1080 ist deine GTX 1070 ausreichend, für 1440 und 4k sollte da schon eine RTX 3xxx oder besser sein und auch die CPU wesentlich moderner.
bloodstix
bloodstix 22.06.2025 um 05:30:49 Uhr
Problem ist das mein PC zu heiß wird und dadurch wird er dann quälend langsam zeitweise. Muss mir was für die Kühlung einfallen lassen...oder vielleicht mal wieder sauber machen :S
DerMaddin
DerMaddin 23.06.2025 um 08:44:10 Uhr
Wenn Luft gekühlt, dann auf jeden Fall Staub entfernen. Luftkreislauf prüfen, idR vorne kühle Luft rein ins Gehäuse und hinten die warme Luft raus. Bei dem Alter des PCs auch mal die WLP auf der CPU erneuern und vielleicht auch mal einen potenteren Kühler installieren.
bloodstix
bloodstix 24.06.2025 um 13:04:54 Uhr
ja, danke, ich weiss. da muss ich aber erstmal bissel sparen. ich hab mir eine mini-klimaanlage bestellt, ein kleinen cube mit usb-strom, ein kollege hat den auch, der ist ziemlich effektiv, werd mal schauen wie ich die genau positioniere damit die kalte luft da reingesogen wird.
DerMaddin
DerMaddin 24.06.2025 um 13:38:34 Uhr
Was ist eine "mini-klimaanlage"? Meinst du etwa so einen kleinen Würfel mit einem Lüfter und Wassertank wie hier?

Selbst wenn du das optimal irgendwie vor den Einlässen deines PCs positionierst, wird es kaum einen Effekt haben auf CPU Temperatur. Im Sommer bei warmer Umgebungsluft eh kaum Vorteile da die Luft sowieso schon relativ feucht ist. Dazu dann mehr Feuchtigkeit im PC Gehäuse ist eher suboptimal. Korrosion und im schlimmsten Fall Kondensation sind der Tod von jeder Elektronik.
bloodstix
bloodstix 24.06.2025 aktualisiert um 14:56:49 Uhr
Ja mit der Feuchtigkeit hast du schon recht aber ich werde den so positionieren das das nicht umbedingt im PC kondensiert. Außderdem kann man den einstellen das er eben die Feuchtigkeit filtert seh ich grade - DryMode. Meiner war auch ein wenig teurer als dein verlinkter ;). Der PC ist unter meinem Schreibtisch in ner kleinen Box, da kann ich den ClimaCube so reinstellen das er darin die ganze luft kühlt. Ein Kollege hat das Teil im Einsatz und das bringt schon ganz schön Leistung für die Größe!