Distributionen | Hermann Apfelböck | 4/2025 | 30. Mai 2025

Systemoptimierung

Bei den nachfolgenden Methoden der Systemoptimierung liegt der Fokus auf Ubuntu & Co, jedoch funktioniert das meiste auch unter anderen Distributionen. Die Aktionen setzen zum Teil etwas tiefere Systemkenntnis voraus (Dienste, Ramdisk, Swapping).

Schnelle Spiegelserver für Updates und Softwareinstallationen: Ubuntu und Linux Mint zeigen durch Schnelltests geeignete Kandidaten für den Softwarebezug.

Leistungstuning ohne Hardwareaufrüstung stößt bei jedem Betriebssystem an enge Grenzen. Die Tipps dieses Beitrags sind daher etwa ab der zweiten Hälfte experimentell bis theoretisch. Hier kommt es wesentlich auf die Rolle eines Systems und auf die Hardware an, ob und wie deutlich sich eine Tuningmaßnahme im Alltag bewährt.

Schnelle Spiegelserver

Linux-Distributionen erhalten alle Updates und Programme von den zentralen Servern des Distributionsanbieters. Spiegelserver sind Alternativen, oft von Universitäten, die genau dasselbe Paketangebot bevorraten. Einen schnellen, lokalen Spiegelserver aus Deutschland einzustellen, ist eine klassische Win-Win-Aktion und unbedingt zu empfehlen: Davon profitieren sowohl die Systembenutzer als auch die dadurch entlasteten Server des Distributionsanbieters. Je schneller die Internetverbindung ist, desto mehr lohnt sich ein schneller Spiegelserver. 

Ubuntu und Mint können den geeignetsten Server selbst ermitteln: Dazu gehen Sie zu „Anwendungen & Aktualisierungen“ (Ubuntu) oder „Anwendungspaketquellen“ (Mint). Die dort vorangestellten Server können Sie anklicken, wonach automatisch die Suche nach einem deutschen Server beginnt. Die werden dabei automatisch nach der Downloadleistung sortiert – die schnellsten nach oben. Wählen Sie den schnellsten Server (den ersten in der Liste). 

Automatische Updates?

Die Aktualisierungsverwaltung vieler Linux-Desktops ist so voreingestellt, dass Updates zeitnah und automatisch geladen und installiert werden. Die Vorgaben finden Sie etwa im grafischen Ubuntu-Tool „Anwendungen & Aktualisierungen“ oder in Discover bei KDE-Systemen. Unter Linux Mint kann der Nutzer in der „Aktualisierungsverwaltung“ über Häufigkeit und „Automatisierung“ entscheiden. Auch für das Terminal (also insbesondere für Server) gibt es eine Methode, über automatische Updates zu entscheiden: 

sudo dpkg-reconfigure -plow unattended-upgrades

In diesem Textmenü kann man mit „Ja“ oder „Nein“ automatische Updates ein- oder ausschalten.

Nicht jeder Automatismus ist per se nützlich. Ungefragte Systemaktualisierungen sind oft eine lästige Bremse.

Automatismen klingen bequem und schnell, sind aber nicht zwingend nützlich. Wann und wo sollte man automatische Updates vermeiden? Wichtigste Kandidaten sind sicher mobile Notebooks, die sich nicht zuverlässig in einem stabilen WLAN aufhalten. Aber auch auf stationären Arbeits-PCs stören automatische Updates, wenn der Benutzer Leistung braucht, aber größere Updates den Rechner bremsen. Am ärgerlichsten sind scheiternde Installationen, weil der Paketmanager im Hintergrund gerade von der Updateaktion blockiert wird. Wer die nötige Disziplin aufbringt, alle paar Tage vor einer Kaffeepause die Befehle 

sudo apt update

sudo apt upgrade -y

einzugeben, kann erstens ungebremst arbeiten und Updates nur im schnellen Netz beziehen. Auf einen Update-Notifier kann man obendrein verzichten (siehe Seite ab 46 „Autostarts“). 

Schnelles Initramfs für Debian/Ubuntu

Nach größeren Systemupdates unter Debian/Ubuntu, die neue Hardwaretreiber mitbringen, baut die Apt-Paketverwaltung das Initramfs (initiale Ramdisk für den Systemstart). Dieser Neubau dauert stets einige Zeit, lässt sich aber deutlich beschleunigen: Die initiale Ramdisk ist gepackt, aber nicht immer mit dem optimalen Algorithmus: Während neue Debian- und Ubuntu-Ausgaben Zstd verwenden, nutzen älteres Debian 11 oder Ubuntu 22.04 den Algorithmus LZ4. Der Algorithmus lässt sich manuell anpassen: Dazu öffnen Sie die Konfigurationsdatei „/etc/initramfs-tools/initramfs.conf“ mit root-Recht:

sudo nano /etc/initramfs-tools/initramfs.conf

Die Zeile „COMPRESS=“ legt den Algorithmus fest. Die erlaubten Werte zeigen die vorangehenden drei Kommentarzeilen an. Steht hier auch „zstd“, dann können Sie auf allen modernen Rechnern und Platinen mit mehreren CPU-Kernen diesen effizienten Algorithmus nutzen und die Anweisungszeile nach

COMPRESS=zstd

ändern. Der manuelle Befehl

sudo update-initramfs -u

zeigt vorab, wie sich die Änderung auf die Neuerstellung des Initramfs auswirkt.

Die Komprimierung der Initramfs lässt sich auch ganz abschalten. Das beschleunigt nicht nur den Neubau, sondern auch den Systemstart. Dazu installiert man das Paket „pv“ (das ist nur eine Fortschrittsanzeige ohne eigene Funktion) und ändert dann in der „initramfs.conf“ die betreffende Zeile wie folgt:

COMPRESS=pv

Künftige Warnmeldungen bei der Erzeugung der Ramdisk kann man ignorieren. Das System bootet damit auch schneller, allerdings braucht die „initrd.img[…]“ mehr Platz.

Systemdienste abschalten

Jedes Linux lädt zahlreiche Systemdienste, die nicht jeder Anwender benötigt. Einen Überblick über alle aktiven Dienste auf einem System mit Systemd (Ubuntu, Mint) erhalten Sie so:

systemctl –-type service 

systemctl –-type service list-unit-files

Die ausführlichere Ausgabe des zweiten Befehls zeigt auch deaktivierte Dienste und den Distributionsstandard („PRESET“). Die meisten Systemdienste sind minimale Helfer und keine nennenswerte Systembremse. Trotzdem können Sie Dienste abschalten, um Ressourcen einzusparen – vor allem solche, die tendenziell nerven: Whoopsie (Fehlerreport), Apport (Fehlerprotokoll), Apparmor (Sicherheitserweiterung), Ufw (Firewall), Brltty (Blindentastatur) sind auf den meisten Desktops entbehrlich: 

sudo systemctl stop whoopsie

sudo systemctl disable whoopsie

Der Befehl „stop“ beendet den angegebenen Dienst in der aktuellen Sitzung, „disable“ deaktiviert ihn dauerhaft. Mit „enable“ und „start“ ist er bei Bedarf wieder zu aktivieren. Wer zusätzlich verhindern will, dass abgeschaltete Dienste intern von anderen Diensten gestartet werden, kann dies mit 

sudo systemctl mask whoopsie

anfordern. 

Systemdienste kontrollieren und abschalten: Unter allen Systemd-Distribution wie Ubuntu und Mint ist das Tool Systemctl das Werkzeug zur Dienstverwaltung.

Ramdisk als Zwischendepot

16 GB RAM sind auf heutigen Rechnern fast die Regel. Beim Einsatz eines Rechners als Officesystem und Medienplayer sind das ständig brachliegende Ressourcen, mit denen sich aber Sinnvolles anfangen lässt. Wenn Sie einen zentralen Ordner, über den Sie den Datenaustausch abwickeln, in eine schnelle Ramdisk verlegen, entstehen mehrere Vorteile: die Bequemlichkeit eines Zwischendepots, das sich beim Herunterfahren von selbst entsorgt, die Schonung des Systemdatenträgers, die Nutzung des brachliegenden RAM-Speichers. Der Leistungsaspekt tritt in Zeiten schneller SSDs eher in den Hintergrund, gilt aber weiterhin beim Einsatz einer mechanischen Festplatte. 

Eine Ramdisk ist im Handumdrehen erstellt. Idealerweise liegt dieser Speicher zentral, etwa im Home-Verzeichnis oder gleich am Desktop: 

sudo mount -t tmpfs -o size=4000M ramdisk ~/Schreibtisch/Ramdisk

Dieser Befehl genügt, um im Ordner „Ramdisk“ (der existieren muss) Platz für maximal 4 GB Daten zu schaffen. Angenehm am tmpfs-Dateisystem ist die Tatsache, dass die angegebene Kapazität nicht statisch abgezweigt wird, sondern dynamisch nach Bedarf bis zum angegebenen Maximum. Solange der Mountordner ungenutzt bleibt, verbraucht die Ramdisk auch keinen Speicher. 

Endlich Arbeit für ungenutzte RAM-Ressourcen: Der Ramdisk-Verbrauch ist nicht statisch, sondern richtet sich nach dem Bedarf. Die Speicherchronik zeigt die Dynamik bei aktiver Nutzung.

Dauerhaft ist eine Ramdisk in der Datei „/etc/fstab“ einzurichten (Beispiel):

tmpfs  /home/lw/Schreibtisch/Ramdisk  tmpfs  defaults,size=40%, mode=1777   0   0

Beachten Sie, dass Sie nach „size=“ statt einer statischen Angabe auch eine relative machen können (hier: 40 Prozent der RAM-Kapazität). Die Rechtemaske „1777“ gibt uneingeschränkten Zugriff. 

Achtung: Daten der Ramdisk werden beim Herunterfahren gelöscht. Ein praktischer Einsatz für eine Ramdisk ist der Einsatz als Browsercache, den man nach Beenden des Browsers sowieso löschen will. 

Ext4-Laufwerke optimieren

Das Standarddateisystem Ext4 liefert auch auf schwächerer Hardware gute Leistung. Kleine Verbesserungen sind aber möglich, wenn man auf Protokolldaten, Zeitstempel und Standard-Checks verzichtet. Einschlägig ist das Werkzeug tune2fs (Paket „e2fsprogs“), das meist standardmäßig installiert ist. Das Tool steuert viele Dateisystemeigenschaften auf Ext2/3/4-Dateisystemen – eine Übersicht für einen Datenträger (nur Ext) erhalten Sie mit diesem Befehl:

sudo tune2fs -l /dev/sda
Das Tool tune2fs kann die Festplatten-Checks reduzieren. Die Zeitangabe „60 Tage“ („-i60“) rechnet das Tool bei seiner Antwort in unleserliche Sekunden um.

Folgende Eingriffe reduzieren die Schreiblast, verringern theoretisch aber auch die Robustheit oder die Informationsmenge des Dateisystems: 

Ext4-Journaling abschalten: Das Journaling dient zur Wiederherstellung von Dateien nach Abstürzen oder Stromausfällen und ist auf der Systempartition zu empfehlen, auf externen USB-Datenträgern oder reinen Datenpartitionen aber nicht notwendig. Ohne Journaling entfallen viele Schreibaktionen, was den Datendurchsatz beschleunigt (hier für Partition „sdb1“): 

sudo umount /dev/sdb1

sudo tune2fs -O ^has_journal /dev/sdb1

Der erste Befehl ist notwendig, weil das Dateisystem für dieser Änderung nicht eingehängt sein darf. Der zweite Befehl schaltet das Journaling ab, wovon Sie sich mit 

sudo tune2fs -l /dev/sdb1

überzeugen können. Umgekehrt lässt sich das Journaling mit diesem Befehl 

sudo tune2fs -O has_journal /dev/sdb1

jederzeit wieder aktivieren.

Ext4-Checks reduzieren: Eine Maßnahme, die gelegentlich den Bootvorgang beschleunigt, ist der Verzicht auf unnötig häufige Datenträger-Checks. Nach dem Befehl 

sudo tune2fs -i60 -c100 /dev/sda2

wird ein Datenträger-Check für Partition „sda2“ nur noch alle 60 Tage („-i60“) oder nach 100 Neustarts („-c100“) erfolgen – je nachdem, welches Ereignis früher eintritt. 

Ext4-Zeitdaten reduzieren: Ext4-formatierte Partitionen speichern für jedes Dateiobjekt mehrere Zeitangaben. Erstelldatum und Änderungsdatum werden immer eingetragen (ctime und mtime: Creation und Modification). Optional ist hingegen das Erfassen des letzten Dateizugriffs (atime: Access). Diese Information ist nur relevant, wenn Sie mit „find -atime“ nach Zugriffszeiten von Dateiobjekten suchen. Wenn Sie das nie tun, ist diese Zeitangabe verzichtbar. Hier hilft nicht tune2fs, sondern nur ein Eingriff in die Datei „/etc/fstab“ (mit sudo): 

UUID=[…]   /   ext4   noatime,nodiratime   0   2

Wenn in der Optionen-Spalte bereits Einträge stehen, dann setzen Sie „,noatime“ einfach dahinter (mit Trennkomma, aber ohne Leerzeichen). Die zusätzliche Option „nodiratime“ verzichtet auch bei Verzeichnissen darauf, die Zugriffszeit zu vermerken. 

Kernel-Optimierung mit Tuned

Das Tool Tuned optimiert die Systemleistung mit einer Kombination von Sysctl-Parametern, Anpassungen mit Hdparm und Powertop sowie Netzwerkoptimierungen mit Ethtool. Dafür gibt es vorbereitete Profile für unterschiedliche Rechnerrollen wie Desktop, Dateiserver, virtuelle Maschinen oder Notebooks. Unter Ubuntu/Mint ist Tuned mit 

sudo apt install tuned tuned-utils tuned-utils-systemtap

zu installieren. Anschließend wird der Systemdienst mit 

sudo systemctl enable tuned

aktiviert. Tuned tritt sofort in Aktion und aktiviert das Standardprofil „balanced“, wie das zugehörige Werkzeug Tuned-adm mit diesem Kommando zeigt: 

tuned-adm active

Eine Übersicht aller Profile liefert der Befehl „tuned-adm list“. Aus diesem Angebot eignet sich für ein Desktopsystem das Profil „desktop“, auf Notebooks vorzugsweise das Profil „desktop-powersave“. Das gewünschte Profil ist mit 

sudo tuned-adm profile desktop

zu aktivieren. 

Das Optimierungstool Tuned gibt zahlreiche Profile vor, die je nach Auswahl passende Sysctl-Kernel-Parameter setzen und Sparmechanismen aktivieren.

Mehr RAM für den Laufwerksache

In der Kernel-Konfiguration bestimmt der Wert „vfs_cache_pressure“, wie oft der Laufwerkscache geleert wird: Je höher der Wert, desto schneller erfolgt die Leerung, und als Standard ist der Maximalwert „100“ festgelegt. Wenn auf NAS- und Dateiservern ausreichend RAM zur Verfügung steht, lässt sich der Cache mit einem kleineren Wert wie „50“ optimieren. Wiederholte Zugriffe auf die gleichen Dateien erfolgen dann dank des länger vorgehaltenen Caches schneller. Das Kommando

sudo sysctl -w vm.vfs_cache_pressure=50

setzt den Wert temporär. Falls sich das bewährt, tragen Sie die Eintrag 

vm.vfs_cache_pressure=50

als letzte, zusätzliche Zeile in die Datei „/etc/sysctl.conf“ ein. Dazu ist root-Recht erforderlich (sudo).

Swapping abschalten oder anpassen

Swapping, also das Auslagern länger ungenutzter Speicherseiten vom Arbeitsspeicher auf die Festplatte, geht in die 90er-Jahre zurück, als Speicher notorisch knapp war. Der dadurch freiwerdende Arbeitsspeicher steht dann wieder für Programme zur Verfügung. Heute zeigt die Beobachtung der Swapaktivität im Taskmanager oder im Terminal (htop, free) meistens, dass keine Auslagerung stattfindet. Bei Rechnern mit 8 und 16 GB ist das praktisch der Dauerzustand. Folglich können Sie die Swapdatei abschalten. Im laufenden System beenden die Terminalbefehle

sudo swapoff /swapfile

sudo rm /swapfile

die Auslagerung und löschen die Auslagerungsdatei. Zuletzt deaktivieren Sie in der Datei „/etc/fstab“ die Zeile

/swapfile   none   swap   sw  0  0

durch führendes Kommentarzeichen „#“ oder löschen die Zeile ganz. 

Ihr System swappt? Wenn der Taskmanager auf älterer Hardware die Aktivität der Swapdatei anzeigt, sollten Sie das Swapping beibehalten. Auch dann gibt es aber Optimierungschancen. Wie aktiv der Kernel auslagert, steuert der Parameter „Swappiness“, dessen aktuellen Wert Sie mit

cat /proc/sys/vm/swappiness

ermitteln. Unter Ubuntu & Co. voreingestellt ist „60“, der Wert darf aber zwischen 0 und 100 liegen. Je höher der Wert, desto schneller schreibt der Kernel Speicherseiten aus dem RAM in die Swapdatei. Bei niedrigem Wert reagiert der Kernel erst bei ernster Speicherknappheit. Auf heutiger Hardware lohnt sich die Swappiness-Anpassung nur in extremen Situationen: 

* Viel RAM bei langsamer mechanischer Festplatte legen es nahe, das Swappen zu reduzieren – etwa auf „10“. 

* Bei wenig RAM, aber schneller SSD empfiehlt sich ein hoher Wert – etwa „90“. Um den Wert in der aktuellen Sitzung temporär zu erhöhen, verwenden Sie dieses Kommando:

sudo sysctl vm.swappiness=90

Dauerhaft gilt der Swappiness-Wert aber erst, wenn Sie die Konfigurationsdatei „/etc/sysctl.conf“ mit root-Recht bearbeiten:

sudo nano /etc/sysctl.conf

Falls ein Eintrag  „vm.swappiness“ noch nicht existiert, fügen Sie folgende Zeile 

vm.swappiness=90

ans Dateiende.

Swapping mit Zram

Wenn Sie trotz guter RAM-Ausstattung das Swapping nicht komplett abschalten wollen, ist das Tool Zram eine interessante Lösung. Zram reserviert einen Teil des Arbeitsspeichers und legt mehrere Ramdisks an, die als komprimierter Auslagerungsspeicher dienen. Standardmäßig nimmt sich Zram die Hälfte des Arbeitsspeichers, teilt diesen durch die Anzahl der CPU-Kerne und richtet pro Kern eine Ramdisk ein („/dev/zram0“, /“dev/zram1“ etc). Der Speicher wird dynamisch vergeben: Solange nichts auszulagern ist, nimmt Zram nichts in Anspruch. Erst wenn Auslagerung nötig wird, geht Speicher nach Bedarf vom physikalisch vorhandenen RAM ab. 

Zram reserviert je nach RAM und CPU erhebliche Speicheranteile. Wie Sie im Bild sehen, wird aber kein RAM abgezweigt, solange kein Swapping erfolgt (0 Bytes von 3,9 GB).

Zram lässt sich mit minimalen Aufwand einrichten:

sudo apt install zram-config

Damit ist das Modul sofort aktiv, wie Sie mit

swapon -s

leicht kontrollieren können. Wir empfehlen Zram als Ersatz für die Auslagerungsdatei auf Rechnern mit guter RAM-Ausstattung. Zram soll aber auch auf Rechnern mit geringem Speicher Vorteile bringen. Wenn Sie bei Ihrer Hardware keinen Gewinn erkennen, lässt sich Zram durch Deinstallieren des Pakets „zram-config“ wieder abschalten.