Ananicy: Setzen Sie Prioritäten für Linux-Programme

David Wolski

Linux-Distributionen werden für die unterschiedlichsten Einsatzzwecke erstellt und sollen unterschiedlichen Rollen, Server und Desktop gerecht werden. Es besteht die Möglichkeit, Programme auf dem Desktop zu optimieren, indem die Priorität des Prozesses angepasst wird.

Erweitern Mit Ananicy können Sie die (Nicht-) Wichtigkeit von Hintergrundprozessen bestimmen.

©Zoomik

Hintergrundprogramme und -prozesse müssen verfügbare Systemressourcen gemeinsam nutzen. Sind diese ausgelastet, werden laufende Prozesse voneinander erwartet. Der Linux-Kernel-Scheduler entscheidet, wie diese Warteschlange aufgebaut ist und nach welcher Logik die laufenden Prozesse CPU- und I/O-Operationen zugeordnet werden. In universellen Linux-Distributionen wie Debian und Ubuntu arbeiten Programmierer an einer ausgewogenen Ressourcenverteilung. Nur wenige Dienste wie Soundserver Pulse Audio und Pipewire haben eine höhere Priorität bei der Zuweisung von CPU-Zyklen.

Desktop-Neueinstellung

Das hier vorgestellte Tool Ananicy verfolgt den Ansatz, vordefinierten Programmen und Prozessen eine höhere oder niedrigere CPU- und I/O-Priorität zu geben. Deaktiviert die automatische Priorisierung und arbeitet mit einer Datenbank bekannter Programme und Spiele, um diese zu priorisieren. Ziel ist es, typische Prozesse in den Vordergrund zu stellen und länger laufenden Prozessen wie Packern eine niedrigere Priorität einzuräumen, damit der Desktop weiterhin reagiert. Desktop-Systeme mit bescheidener Hardwarekonfiguration profitieren stärker von Ananicy. Für Server ist diese Optimierung nicht geeignet, zumal diese Priorisierung die Gesamtleistung bei der typischen Auslastung dieser Systeme nicht verbessert. Der Name von Ananicy ist die Abkürzung für „Another Auto Nice Daemon“, was von seiner Funktionsweise abgeleitet ist. Denn es greift mittels der Tools des Systems „nice“ und „ionice“ in die Priorisierung ein.

CPU-Priorität:

Dies wird durch den guten Wert aller Unix-ähnlichen Systeme bestimmt. „Nice“ bedeutet eigentlich „nett“, weil der Wert bestimmt, wie nett ein Programm mit den anderen laufenden Prozessen ist. Je höher die Dringlichkeit, desto niedriger und weniger „angenehm“ ist der angenehme Wert. Der Wert kann zwischen -20 und +19 liegen, wobei -20 die höchste und 19 die niedrigste Priorität angibt.

Wenn ein Programm bereits gestartet wurde, kann das Nice-Befehlszeilentool den Nice-Wert zurücksetzen. Nicht-Root-Benutzer können nur nette Werte in eine Richtung zwischen 0 und 19 setzen und somit nur ihre eigenen Prozesse im Bereich degradieren. Mit Root-Rechten können Sie die Priorität auch mit negativen netten Werten erhöhen. Damit der Linux-Kernel diesen Bereich berücksichtigt, muss bei aktuellen Linux-Distributionen das Feature „Autogroup“ (siehe Kasten) abgeschaltet werden, was Ananicy automatisch macht.

E/A-Priorität:

Das nette Gegenstück ist ionice für den vorrangigen Zugriff auf den Datenträger. Dieser Wert folgt der Nice-Value-Logik für CPU-Prioritäten und wirkt sich auf den Kernel-I/O-Programmierer „CFG“ aus, der diese Einteilung berücksichtigt. Der Kernel kann mit verschiedenen I/O-Programmierern arbeiten und hängt davon ab, welcher aktiviert ist. „Noop“- und „Deadline“-Programmierer, die aktuelle Linux-Distributionen automatisch für SSD- und NVME-Laufwerke auswählen, ignorieren diese Priorität und überlassen die Verarbeitung geplanter I/O-Operationen den Treibern für diese Laufwerke. Auch der Einsatz von CFQ- und BFQ-Programmierern würde bei diesen Datenträgern keine spürbare Verbesserung durch ionice bringen.

Richten Sie ananicy als Systemdienst ein

Erweitern Sie die Optimierungsregeln: Ananicy identifiziert Prozesse und wendet dann die von vielen Benutzern gelernten Erfahrungen an, um den Desktop reaktionsfähig zu halten.

Die Entwickler hinter Ananicy haben die Prozesspriorisierung als Systemdienst implementiert und in Python 3 geschrieben. Es gibt weniger Abhängigkeiten von den zusätzlich benötigten Bibliotheken und auch keine Notwendigkeit, das Tool zu kompilieren. Es gibt eine universelle Konfigurationsanleitung und ein praktisches Installationsskript für Debian/Ubuntu a. Somit ist Ananicy einfach konfiguriert und wenn sich bei einem Desktop-System keine spürbare Verbesserung einstellt, lässt sich diese Prozessoptimierung auch schnell wieder abschalten und sauber deinstallieren. Es gibt auch ein Paket für Arch Linux und Manjaro im Arch-Benutzer-Repository. Das Tool lädt Sie ein, mit diesen Verteilungen zu experimentieren.

In Debian und Ubuntu wird der Befehl installiert

sudo apt installiere git schedtool

im Git-Terminal und ein weiteres Systemtool, das die aktuelle Prozesspriorität ausliest. Dann erhalten Sie die Bestellung

Leave a Comment

Your email address will not be published. Required fields are marked *