Der Befehl nice
kann verwendet werden, um die Prioritäten der Prozess- CPU-Zeitplanung zu manipulieren . Der Befehl weist dem Prozess einen "Nizza" -Wert von -20 (am wichtigsten) bis +19 (am wenigsten wichtig) zu. Root kann einen beliebigen Wert zuweisen, andere Benutzer nur positive (untergeordnete Bedeutung). Der Standardwert ist 0.
nice -n <niceness> <command>
Um die Priorität eines Befehls apt-get auf den niedrigsten Wert zu setzen, können Sie den Befehl verwenden
sudo nice -n 19 apt-get upgrade
Um die Priorität eines bereits laufenden Prozesses festzulegen, renice
kann der Befehl verwendet werden:
renice -n <niceness> -p <pid>
Bearbeiten: Vielen Dank an @David für die Erwähnung des ionice
Befehls, mit dem Sie die E / A-Priorität der Festplatte bearbeiten können . Es kann einen Prozess in drei verschiedene Klassen einteilen:
- Im Leerlauf wird nur die Prozessfestplattenzeit angezeigt, sofern kein anderer Prozess dies derzeit behauptet.
- Best-Effort (Standardklasse). Auf diese Weise können Sie Prioritäten von 0 bis 7 zuweisen, wobei 0 am wichtigsten ist und 7 am wenigsten. Sie können versuchen,
-n 7
als Prioritätsstufe zuzuweisen.
- Echtzeitprozesse werden vor allen anderen Vorgängen abgewickelt, sodass die Datenträger-E / A für andere Prozesse angehalten wird, sobald sie für sich selbst erforderlich sind. Mit Vorsicht verwenden!
IOnice kombiniert die Syntax von nice und renice:
ionice [-c class] [-n level] command #To start a new process
ionice [-c class] [-n level] -p pid #To change a running process
Beide Befehle können kombiniert werden, z
sudo ionice -n 7 nice -n 19 apt-get upgrade #Omitting the -c switch will assign Best-effort
sudo nice -n 19 ionice -n 7 apt-get upgrade
nice -n 19 ionice -n 7 sudo apt-get upgrade
...
ionice
?sudo
in Ihrem Befehl nicht fürnice
, sondern für sichapt-get
selbst? Es scheint, dass dasnice -n 19 sudo apt-get upgrade
auch bei mir funktioniert. Gibt es einen wichtigen Unterschied?sudo nice apt-get
läuft gut als root und erlaubt es, niedrigere Prioritäten als 0 zu setzen. Apt-get läuft immer noch als root.nice sudo apt-get
läuft als aktueller Benutzer einwandfrei und lässt daher nur Prioritäten größer oder gleich 0 zu. apt-get wird als root gestartet.