Gibt es Lösungen, die die CPU-Auslastung eines Prozesses einschränken können?


70

Ich benutze einen alten Laptop und arbeite mit viel Prozessorleistung, die für eine lange Zeit benötigt wird (~ 30 Minuten - 2 Stunden). Wenn der Prozess die CPU für eine lange Zeit stark belastet, wird die CPU überhitzt und der Computer wird heruntergefahren. Ich möchte keinen Kühler / Ständer verwenden, weil ich diesen Laptop mit mir herumtrage und draußen arbeite.

Gibt es eine Möglichkeit / Anwendung, mit der ich die CPU-Auslastung eines Prozesses in Windows begrenzen kann?

Hinweis: Das Festlegen der Priorität des Prozesses über den Task-Manager funktioniert nicht.

Hinweis 2: Die Lüfter sind sauber.


6
Ist es nicht möglich, 3 Stunden CPU-Zeit auf EC2 zu vermieten? Ich würde mir vorstellen, dass das in den meisten Fällen viel besser funktionieren würde.
digitxp

können Sie angeben, welche Windows-Version und welcher alte Laptop? Wenn sich im Inneren ein Dual-Core befindet, können Sie einfach angeben, dass die Anwendung nur auf einem Core ausgeführt werden soll, wodurch der Wert auf 50% und damit auf kühleren Temperaturen gehalten wird.
Joris Meys

4
@digitxp: Ich bin im Moment Doktorandin, wenn es geschäftlich wäre, hätte ich mir sowieso einen neuen Laptop gekauft oder eine leistungsstarke Desktop-Maschine benutzt :)
nimcap

Antworten:


64

Eine Suche über das Internet bringt einige Programme, die helfen können. Sie sind alle Freeware .

BES - Battle Encoder Shirase

BES ist ein kleines Tool, das die CPU-Auslastung für einen bestimmten Prozess begrenzt: Sie können beispielsweise die CPU-Auslastung eines Prozesses, der 100% der CPU benötigt, auf 50% (oder einen beliebigen Prozentsatz) begrenzen. Auf diese Weise können Sie andere Programme bequem verwenden und gleichzeitig CPU-intensive Vorgänge im Hintergrund ausführen. Durch die Begrenzung der CPU-Auslastung können Sie Ihre CPU auch sofort abkühlen, wenn sie zu heiß wird. Natürlich verlangsamt sich die Verarbeitungsgeschwindigkeit proportional, wenn Sie die CPU-Auslastung begrenzen. Sie sollte jedoch weitaus besser sein als ein Absturz aufgrund von Hitze oder (im schlimmsten Fall) aufgrund eines Defekts Ihres Computers mit einer ausgebrannten CPU.

Process Tamer

Process Tamer ist ein kleines (140.000) und äußerst effizientes Dienstprogramm für Microsoft Windows XP / 2K / NT / Vista / Win7, das in der Taskleiste ausgeführt wird und die CPU-Auslastung anderer Prozesse ständig überwacht. Wenn ein Prozess festgestellt wird, der Ihre CPU überlastet, wird die Priorität dieses Prozesses vorübergehend verringert, bis die CPU-Auslastung wieder auf ein vernünftiges Niveau zurückkehrt.

Prozess Lasso

Process Lasso ist eine einzigartige neue Technologie, die die Reaktionsfähigkeit und Stabilität Ihres PCs in Zeiten hoher CPU-Belastung verbessert. Windows ermöglicht es Programmen, Ihre CPU uneingeschränkt zu monopolisieren, was zum Einfrieren, Aufhängen und zu Verzögerungen führt. Die ProBalance-Technologie (Process Balance) von Process Lasso passt die Prioritäten der ausgeführten Programme intelligent an, sodass schlecht verhaltene Prozesse die Reaktionsfähigkeit Ihres PCs nicht beeinträchtigen.


10
von den drei BES sieht aus wie die beste Wette. Die anderen beiden verwenden Prioritätswerte, die gemäß der Frage nicht funktionierten
RobotHumans

4
BES ist meine Wahl. Es ist leicht und macht das, was es von uns erwartet wird.
Nimcap

1
BES kann Windows Live Mesh (MOE.exe) nicht einschränken. Unabhängig von den Einstellungen werden weiterhin 95% verwendet. Die anderen können unmöglich helfen, da bereits die Leerlaufpriorität eingestellt ist. Macht das ganze Betriebssystem sowieso sehr langsam.
RomanSt

Richtig. Das BES ist das einzigartige Leistungsmerkmal eines% CPU-Limiters. Warum ist auf der 3. Position? :(
erm3nda

Von der BES-Webseite: "Ja, BES ist ein Tool, das das Ziel für eine sehr kurze Zeit zum Schlafen bringt."
mtone

15

Die einfachste Lösung, die ich gefunden habe, besteht darin, die Prozessorleistung zu begrenzen.

  1. Gehen Sie zur Systemsteuerung.
  2. Hardware und Sound
  3. Energieoptionen
  4. Planeinstellungen bearbeiten
  5. Ändern Sie die erweiterten Energieeinstellungen
  6. Prozessor-Power-Management
  7. Maximaler Prozessorstatus und senken Sie ihn auf 80% oder was auch immer Sie wollen. Wenn Sie eine Software verwenden, die die CPU-Temperaturen misst, wie z. B. 'Speed ​​Fan', werden Sie feststellen, dass die Temperaturen sinken.

Sie können auch die Kühlungsrichtlinie anpassen, da der passive Modus möglicherweise Abhilfe
schafft

9

Sicher, das ist eine alte Frage, aber ich bin überrascht, dass dies noch niemand vorgeschlagen hat:

Reduzieren Sie Ihre CPU-Geschwindigkeit.

Praktisch alle Laptops und Windows selbst verfügen über integrierte Mechanismen, um die Prozessorgeschwindigkeit dynamisch an die Auslastung anzupassen. Sie können dieses Verhalten außer Kraft setzen. Beispielsweise können Sie in der Systemsteuerung => Energieoptionen => Erweitert eine maximale Prozessorgeschwindigkeit festlegen, die unter 100% liegt. Ihr Prozessor ist dann auf eine niedrigere Geschwindigkeit beschränkt und erzeugt somit weniger Wärme, ganz gleich, was Sie tun.

Dies erfordert keine zusätzliche Software, und was noch wichtiger ist: Durch die Reduzierung der CPU-Geschwindigkeit wird der Prozessor effizienter. Dies ist eine bessere Lösung als die Einschränkung der CPU-Auslastung in Windows. Die Verwendung von 50% eines Prozessors bei 2,0 GHz verbraucht erheblich mehr Leistung als 100% eines Prozessors bei 1,0 GHz. Weniger Strom = weniger Wärme.


5

Ich wollte die Anwendung hinzufügen, die ich in der Vergangenheit verwendet habe, um die CPU-Auslastung erfolgreich zu begrenzen. Ich habe threadmaster in der Vergangenheit mehrmals benutzt.

http://threadmaster.tripod.com/


5

In Windows 10, 8 und 7:

  1. Gehen Sie zum Task-Manager.
  2. Klicken Sie mit der rechten Maustaste auf den Prozess, für den die CPU-Auslastung beschränkt werden soll. Klicken Sie auf Zu Details wechseln .
  3. Nun wird die Detailregisterkarte angezeigt. Klicken Sie mit der rechten Maustaste auf den jeweiligen Prozess, wählen Sie " Affinität festlegen" und wählen Sie die Kerne aus, die der jeweilige Prozess verwenden darf.

1
Wenn Sie in Windows 7 mit der rechten Maustaste auf einen Prozess im Task-Manager klicken, wird ein Kontextmenü angezeigt. Eine der Optionen lautet "Affinität festlegen" und funktioniert so, wie Sie es beschreiben.
David Richerby

Der Prozess, den ich zur Begrenzung der CPU-Auslastung ausführen möchte, ist abgeblendet. Die Option Gehe zu Details ist abgeblendet.
Santosh Kumar

3

Anstatt dazu ein Programm herunterzuladen, wird im Task-Manager unter Details eine Liste der von Ihnen ausgeführten Prozesse angezeigt. Wenn Sie mit der rechten Maustaste klicken und die Option "Affinität festlegen" anstelle von "Priorität festlegen" verwenden, können Sie auswählen, wie viele Kerne von einem einzelnen Programm verwendet werden, wodurch die CPU-Auslastung des Programms begrenzt wird.


Die meisten Programme sind Singlethread-Programme, daher hilft es Ihnen nicht, die Affinität auf 1 Kern zu setzen. (Single-Thread-Programme können nur einen einzelnen CPU-Kern verwenden und verwendeten
ursprünglich

3

Eine weitere sehr bequeme Möglichkeit, die Affinität einer bestimmten ausführbaren Datei beim Start festzulegen, ist die Verwendung des Befehls start .

zB "start / affinity F iexplore.exe". Wenn es eine einzelne Anwendung gibt, die Sie so gedrosselt starten möchten, können Sie mit diesem Befehl eine Verknüpfung erstellen. Beachten Sie, dass die Affinität durch einen hexadezimalen Wert festgelegt wird, was möglicherweise einige Versuche erfordert. Überprüfen Sie den Vorgang im Task-Manager, um das tatsächliche Affinitätsergebnis anzuzeigen!

Weitere Informationen finden Sie hier: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx


2

Heutzutage besteht die beste Lösung darin, die CPU-Nutzung pro Prozess zu begrenzen, indem die CPU-Affinität (Kerne, auf die der Prozess zugreifen kann) begrenzt wird. Sie haben eine geringere Genauigkeit (können nur bestimmte Prozentsätze festlegen), dies ist jedoch eine natürlichere Vorgehensweise als der Versuch, Prozessthreads regelmäßig anzuhalten und fortzusetzen. Process Lasso macht einen guten Job mit standardmäßigen (dauerhaften) CPU-Affinitäten. Es hat jedoch auch eine "harte" Einschränkung des BES-Stils, obwohl dies nicht empfohlen wird, da es eine so unnatürliche Handlung ist.


1

Durch Untertakten der CPU können Sie langsamere CPU-Geschwindigkeiten erzielen und die erzeugte Wärme verringern. Möglicherweise benötigen Sie fortgeschrittene Erfahrung, wenn Ihr Motherboard oder Ihre CPU nicht über die Möglichkeit verfügt, die Taktrate mithilfe eines herunterladbaren Programms zu ändern. (Suchen Sie nach Übertaktungsprogrammen für Ihre CPU oder Ihr Motherboard (nur vom Hersteller Ihrer CPU und Ihres Motherboards). Beachten Sie, dass Sie an einer Untertaktung interessiert sind.)

Falls keine Dienstprogramme verfügbar sind, müssen Sie das BIOS Ihres Computers aufrufen und die Taktrate Ihres Prozessors ändern. Am einfachsten ist es, den Multiplikator auf eine niedrigere Zahl einzustellen. Bitte berühren Sie keine Spannungen, da dies Ihre CPU beschädigen kann, wenn sie zu hoch ist, oder Fehler verursachen kann, wenn sie zu niedrig ist. Frequenzen sollten ebenfalls nicht verändert werden, nur der Multiplikator. Um zu den Standardeinstellungen zurückzukehren, lesen Sie in Ihrem BIOS-Handbuch nach, welche Taste gedrückt werden muss, um die Standardeinstellungen wiederherzustellen. (Oder schauen Sie sich den BIOS-Bildschirm genau an, insbesondere den Ausgangsbildschirm.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.