Gibt es eine Möglichkeit, die Priorität eines Prozesses in Mac OS X?
Ich habe einen Hintergrundprozess, der unter Mac OS X mit 100% CPU ausgeführt wird.
Ich möchte diesen Prozess auf nicht mehr als 50% einstellen, damit meine Anwendungen besser laufen können. Wie kann ich das tun?
6 answers
Verwenden Sie über die Befehlszeile (Terminal.app
oder was auch immer) nice
und renice
, genau wie bei anderen Unixen.
Verwenden Sie beim Starten eines Prozesses nice
:
nice -n <priority> <command> <arguments to command>
Die Standardpriorität ist Null, positive Werte sind " schöner "(das ist niedrigere Priorität) und negative Werte sind" weniger schön " (höhere Priorität). Sieht aus wie Mac OS läuft von +10 bis -10.
Verwenden Sie renice
, um die Priorität eines bereits laufenden Prozesses zu ändern (von der Manpage renice
auf 10.5):
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
renice -n increment [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Der Teil, den du bist interessiert ist hier das pid
Bit. Das ist die Prozess-ID für den Job und Sie können sie mit ps -u <your username>
finden und nach dem Prozessnamen suchen, aber ich bevorzuge in diesem Fall top -o
, da der Prozess, an dem Sie interessiert sind, ganz oben steht.
Hinweis: Ohne Superuser-Berechtigungen können Sie niemals die Priorität eines Prozesses erhöhen. Für normale Benutzer sind nice
und renice
Einbahnstraßen. Und kleine Prioritätsänderungen können große Auswirkungen auf die Laufzeit haben. So gehen Sie einfach auf diese, bis Sie verstehe es.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-14 10:14:32
Sie können den Befehl verwenden:
renice -n # PID
Wobei:
- # ist eine Zahl, die größer als 0 sein sollte (andernfalls verschieben Sie Ihren Prozess auf eine höhere Priorität)
-
PID ist die Prozess-ID, die Sie durch Eingabe von
top
in der Terminal-App (Dienstprogramme/Terminal.app)
Wenn es sich um einen Systemprozess oder einen anderen Benutzerprozess handelt, sollten Sie Folgendes eingeben:
sudo renice -n 10 PID
Es wird Sie nach Ihrem Passwort fragen (wenn Sie sudoer sind). Wie für die Nummer würde ich empfehlen Sie 10 oder 19 (noch niedrigere Priorität).
Beachten Sie, dass dadurch die Priorität und nicht die CPU-Auslastung geändert wird. Wenn Sie keine anderen Prozesse ausführen, für die CPU erforderlich ist, oder wenn Sie mehr als eine CPU auf Ihrem Mac (Core 2 Quad Core) haben, verwendet der Prozess möglicherweise immer noch 100% der CPU.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-08-28 14:57:01
renice 20 $(pgrep ImageOptim)
Oder verwenden Sie den Namen Ihres Programms anstelle von ImageOptim
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-11-24 02:52:52
Es gibt auch eine Reihe von GUI-Dienstprogrammen, wie die Free BeNicer und Process Wizard (mein vorheriger Favorit), und die $1.99 Version von Freezer, die mein neuer Favorit ist. Diese arbeiten alle an laufenden Anwendungen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-04-16 05:15:57
Wenn Ihr Prozess eher ein App-oder App-Hilfsprogramm als ein Systemprozess ist und Sie nicht bei jedem Systemstart
nice
oderrenice
ausführen möchten, können Sie es AppPolice geben. Es ist open source und kostenlos. Sie können es herunterladen hier, oder installieren Sie es mit dem Befehl homebrewbrew cask install AppPolice
Eine andere Alternative wäre eine sehr schöne Befehlszeilen-Task-Manager-GUI namens
htop
. Sie können alle Prozesse sehen und ihrenice
- Werte einstellen durchF7
und undF8
Verknüpfungen. (Bitte beachten Sie, dass negativenice
- Werte für positive Werte mehr priorisiert und entgegengesetzt sind)
Um es zu installieren:
- Installation homebrew wenn Sie haben es noch nicht.
- Führen Sie diesen Befehl
brew install htop
im Terminal - Jetzt können Sie
htop
, um Prozesse im Terminal zu sehen und zu verwalten, odersudo htop
, um das gesamte System abzudecken.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-01-27 14:46:06
Sie können den Nice-Wert (Priorität) für den Daemon mithilfe der Variablen in der PLIST-Datei für die App dauerhaft festlegen. Um herauszufinden, wie Typ MAN plist in einem Terminalfenster.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-06-29 16:25:32