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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 673021
Url: https://administrator.de/forum/skript-fuer-prozessorzugehoerigkeit-673021.html
Ausgedruckt am: 17.07.2025 um 01:07 Uhr
26 Kommentare
Neuester Kommentar
PS-Quicky
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- ...
# 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- ...
Zitat von @Penny.Cilin:
Woraus schließt Du, daß das Spiel auf CPU 0 und 1 flüssiger läuft, als auf den anderen?
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
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...
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...
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
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
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".
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".
Zitat von @maretz:
ich glaube da gibt es einige missverständnisse und ich würde da nicht eingreifen wenn nicht zwingend nötig.
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.
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)...
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)...
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.
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.
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.
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...
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".
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".
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...
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...
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.
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.
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.
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.
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.
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.