Ich möchte die CPU-Zeit für bestimmte Prozesse (z. B. Firefox, Safari usw.) begrenzen.
Ich kann nicht verstehen, warum solche Programme, auch wenn sie nicht verwendet werden (nichts wird geladen, keine Animationen laufen im Hintergrund, ...), so ressourcenhungrig sind. Warum muss ein Browser 50% oder mehr meiner CPU essen? Kann ich es auf 10% begrenzen?
macos
lion
battery
performance
Pietro
quelle
quelle
Antworten:
Es ist nicht genau das, was Sie wollten, aber in Bezug auf Google Drive und Chrome hat dies den Trick für mich getan:
Google Drive ("Sichern und Synchronisieren")
Priorisierung aufheben:
auf normal zurücksetzen:
Chrom
Priorisierung aller aktuellen Prozesse aufheben:
Alle aktuellen Prozesse wieder normalisieren:
quelle
cputhrottle
ist das Werkzeug, das Sie brauchen. Sie können es mit Homebrew installieren .Sie können eine Reihe von Prozessen nach Namen überwachen, indem Sie das unten stehende Bash-Skript ausführen. Ich bin nicht ganz sicher, wie ich dies in ein Anmeldeobjekt verwandeln soll, da
cputhrottle
Superuser-Berechtigungen erforderlich sind. Führen Sie es als Skript in einem Automator-Workflow aus.[Bearbeitet]
Ich habe eine andere Version für dieses Skript hinzugefügt (ein
bash
Skript), die für Leute nützlich sein kann, die die CPU für mehrere Anwendungen einschränken möchten.Mit diesem neuen Skript können Sie auch eine Liste angeben, die den Anwendungsnamen und das CPU-Limit enthält.
Der Hauptunterschied besteht darin, dass Sie pro Anwendung ein CPU-Limit hinzufügen können, das nur einmal pro Anwendung ausgeführt wird. Ich habe auch die Option zum Beenden aller
cputhrottle
Prozesse hinzugefügt .Das Skript setzt voraus, dass beide
cputhrottle
undpidof
installiert sind, bevor es ausgeführt wird.Quelle:
quelle
cputhrottle
das Forumula von Homebrew am 17. Februar 2019 entfernt, da es nicht mehr funktioniert . Yosemite war die letzte unterstützte Version von macOScputhrottle
.Sie können in der Tat! Es gibt CPUThrottle , mit dem Sie eine zu beschränkende PID angeben können.
Beachten Sie, dass sie aus einem bestimmten Grund versuchen, so viel zu verwenden. Es ist ein nützliches Tool, aber Sie werden feststellen, ob es an einem Tag für Sie besser oder schlechter wird.
quelle
Obwohl dies keine direkte Antwort auf die Frage des OP ist, haben Sie ein Problem mit einem bestimmten Prozess, der zu viel CPU-Zeit in Anspruch nimmt und Ihren Computer unbrauchbar macht, und es macht Ihnen nichts aus, wie lange dieser Prozess dauert, um den Vorgang abzuschließen Bei der Aufgabe, an der er arbeitet, können Sie
renice
die Priorität dieses Prozesses ändern, damit er sich gut verhält (daher der Name).Zunächst müssen Sie die PID des Prozesses ermitteln, der die CPU-Ressourcen verbraucht. Sie können dies entweder in Activity Monitor oder in Terminal.app mit dem
ps
Befehl tun. Geben Sie beispielsweise Folgendes ein, um die PID des Safari-Browsers zu ermitteln:Die zweite Zeile oben ist die Ausgabe, und die PID beträgt in diesem speziellen Fall 17452.
Die nächste Aufgabe besteht darin, die Priorität des Prozesses zu ändern (sagen wir, wir möchten Safari so gestalten, dass es sich gut verhält). Geben Sie dazu in Terminal.app Folgendes ein:
Die
-n
Option ändert den Nizza-Level, indem 10 zum aktuellen Wert addiert wird (standardmäßig 0). Der Wertebereich liegt zwischen -20 und 20, wobei der niedrigste Wert die höchste Priorität bedeutet. Als normaler Benutzer können Sie die Werte 0 bis 20 verwenden. Um einen negativen Wert zuzuweisen, müssen Sie über Root-Berechtigungen verfügen (zsudo
. B. Befehl verwenden). Lesen Sie mehr übernice
undrenice
indem Sieman nice
undman renice
in Terminal.app eingeben .nice
und beschränkenrenice
Sie nicht den Prozentsatz der für eine bestimmte Anwendung per se verfügbaren CPU, sondern erlauben es, die Planungspriorität oder mit anderen Worten, wie viel CPU-Zeit ein Prozess erhalten wird, zu ändern. Dies hängt alles von der CPU-Auslastung Ihres Systems ab. Wenn das System also nicht ausgelastet ist, werden Sie höchstwahrscheinlich keinen Unterschied feststellen.quelle
Dafür gibt es einen einfachen Einzeiler:
Geben Sie Ihren App-Namen anstelle von Chrom und den gewünschten Prozentsatz anstelle von 10 ein und los geht's!
quelle
pgrep Dropbox | sudo xargs -n 1 -I'{}' sh -c 'cputhrottle {} 10 &'
. Ich bin mir jedoch nicht sicher, ob macOS bereitspgrep
installiert ist.Dies basiert auf einer vorherigen Antwort, aber das Hinzufügen des Traps für Strg + C, um sicherzustellen, dass der gedrosselte Prozess im Status "Continue" verbleibt, und das Hinzufügen,
set -e
damit dieses Skript ordnungsgemäß beendet wird, wenn der Prozess selbst beendet wird:quelle
Der Link, den Nicholas Smith gepostet hat, funktioniert nicht mehr. Also habe ich eine andere App gefunden, die den Trick für die Leute macht, die sie erneut suchen. Die App ruft Apppolice auf.
http://www.macupdate.com/app/mac/49836/apppolice
quelle
Dies ist mein letztes Skript. Halten Sie den Befehl cputhrottle sauber. Führen Sie nur dann ein neues Skript aus, wenn es nicht existiert
quelle
Das Skript, das Dimitri geschrieben hat, funktioniert gut (unter MacOS), läuft aber nach dem Schließen der Anwendung mit Fehlern weiter. Ich habe es geändert, um es fertig zu stellen (mit einer Fehlermeldung über die nicht gefundene PID):
quelle
Das hat bei mir funktioniert
quelle