27 Punkte von baeba 2025-05-13 | 6 Kommentare | Auf WhatsApp teilen

Linux ist ein effizientes Betriebssystem, aber eine übermäßige Nutzung von RAM und CPU kann zu Leistungseinbußen und Systeminstabilität führen.
In diesem Artikel werden praktische Optimierungsmethoden wie Monitoring-Tools, Prozessverwaltung und Kernel-Tuning erklärt.


1. Prozesse mit hoher Ressourcennutzung finden

Mit den Befehlen top, htop und ps lässt sich prüfen, welche Prozesse besonders viel CPU und Speicher verbrauchen.
Merken Sie sich die PID, um anschließend geeignete Maßnahmen zu ergreifen.

# top  
top          # P: nach CPU sortieren, M: nach Speicher sortieren  
  
# htop installieren und ausführen  
sudo apt install htop  
htop         # F6: sortieren, F9: beenden  
  
# ps-Befehl  
ps aux --sort=-%mem | head  
ps aux --sort=-%cpu | head  

2. Unnötige Prozesse beenden

Mit den Befehlen kill, kill -9 und pkill können Prozesse beendet werden, die übermäßig viele Ressourcen verbrauchen.
Nicht reagierende Prozesse lassen sich zwangsweise beenden oder nach Namen gesammelt schließen.

kill PID  
kill -9 PID  
pkill process_name  

3. Autostart-Programme optimieren

Mit systemctl können Sie Dienste prüfen, die beim Booten automatisch gestartet werden, und unnötige Einträge deaktivieren.
In GUI-Umgebungen kann dafür auch der Startprogramme-Manager verwendet werden.

systemctl list-unit-files --type=service | grep enabled  
sudo systemctl disable service_name  

4. Swappiness anpassen

Swappiness ist eine Einstellung, die steuert, wie häufig der Swap-Speicher verwendet wird.
Wenn Sie den Standardwert von 60 auf 10 senken, wird die Nutzung von RAM bevorzugt, was die Leistung verbessern kann.

cat /proc/sys/vm/swappiness  
sudo nano /etc/sysctl.conf  # vm.swappiness=10 hinzufügen  
sudo sysctl -p  

5. Eine schlanke Desktop-Umgebung verwenden

Wenn Sie statt GNOME oder KDE eine leichtere Desktop-Umgebung wie XFCE, LXDE oder MATE verwenden, lassen sich Ressourcen sparen.
Dasselbe gilt für Anwendungen: Auch hier können leichte Editoren, Browser und Dateimanager als Ersatz dienen.


6. Cache und Buffer manuell bereinigen

Linux nutzt RAM zur Leistungssteigerung als Cache, bei Bedarf kann dieser jedoch auch manuell geleert werden.
Beachten Sie allerdings, dass dies vorübergehend zu Leistungseinbußen führen kann.

sudo sync; sudo sysctl -w vm.drop_caches=3  

7. Kernel-Parameter optimieren

Durch das Anpassen von Kernel-Parametern wie der Häufigkeit von Schreibvorgängen auf die Festplatte oder der minimal freizuhaltenden RAM-Menge lässt sich das Ressourcenmanagement effizienter gestalten.

# Beispiel für zusätzliche Einträge in /etc/sysctl.conf  
vm.dirty_background_ratio=5  
vm.dirty_ratio=10  
vm.min_free_kbytes=65536  
kernel.sched_autogroup_enabled=0  

8. ZRAM verwenden

ZRAM komprimiert Speicher und ist dadurch effektiv beim Einsparen von RAM.
Wenn zusätzlich Zswap eingerichtet wird, wird komprimierter Swap aktiviert.

sudo apt install zram-config  
sudo systemctl start zram-config  
  
# GRUB-Konfiguration ergänzen  
sudo nano /etc/default/grub  
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"  
sudo update-grub  
sudo reboot  

9. CPU-Auslastung von Prozessen begrenzen

Mit dem Befehl cpulimit kann die CPU-Auslastung eines bestimmten Prozesses begrenzt werden.
Über systemd-Einstellungen ist auch eine dauerhafte Begrenzung möglich.

sudo apt install cpulimit  
sudo cpulimit -e firefox -l 30  # Firefox auf 30 % begrenzen  
  
# Mit systemd konfigurieren  
sudo systemctl set-property service_name CPUQuota=30%  

10. System regelmäßig aktualisieren

Aktuelle Updates helfen bei Leistungsverbesserungen und Fehlerbehebungen und sollten daher regelmäßig eingespielt werden.

sudo apt update && sudo apt upgrade    # Debian/Ubuntu  
sudo yum update                        # RHEL/CentOS  

6 Kommentare

 
wls52 2025-05-13

Von zram hatte ich zum ersten Mal gehört und mich gefragt, welche Nachteile es haben könnte, also habe ich qwq:32b gefragt.

Warum aktivieren Linux-Distributionen zram nicht standardmäßig?

Weil Speicherknappheit auf modernen Systemen seltener geworden ist: Die meisten PCs sind heute standardmäßig mit 4 GB RAM oder mehr ausgestattet. In Umgebungen mit wenigen Speicherengpässen ist der Bedarf an zram geringer.

Risiko zusätzlicher CPU-Last: zram kann die CPU-Auslastung erhöhen und ist daher nicht für jede Hardware bedenkenlos geeignet.
Distributionen priorisieren „allgemeine Umgebungen“, daher könnte es als nicht lohnend angesehen werden, den CPU-Overhead von zram in Kauf zu nehmen.

Veränderte Nutzung von Swap: Durch die Verbreitung von SSDs hat sich die Geschwindigkeit traditioneller Swap-Datenträger deutlich verbessert.
Der Geschwindigkeitsvorteil von zram fällt daher im Vergleich zu früher relativ weniger stark ins Gewicht.

Vielfalt der Nutzerumgebungen: zram ist nur in bestimmten Umgebungen (z. B. auf leistungsschwachen Geräten) effektiv und bringt für normale Nutzer kaum spürbare Vorteile.
Distributionen streben „maximale Kompatibilität bei minimaler Konfiguration“ an und aktivieren zram deshalb nicht standardmäßig.

Komplexität der Konfiguration: Für eine optimale Nutzung müssen Größe, Kompressionsalgorithmus usw. von zram manuell angepasst werden, was für allgemeine Nutzer schwer zu verstehen sein kann.

 
secret3056 2025-05-13

Auch unter macOS wird Speicherkomprimierung aktiv eingesetzt.

> Warum aktivieren Linux-Distributionen zram nicht standardmäßig?

Fedora 33 und openSUSE aktivieren ZRAM seit Aeon standardmäßig.
Benchmarks kommen zwar immer zuerst, aber es könnte brauchbarer sein, als man denkt.

 
hoonix 2025-05-13

zswap ist durchaus brauchbar. Unter macOS ist eine ähnliche Funktion standardmäßig aktiviert. In Umgebungen mit begrenzten Ressourcen wie bei Laptops funktioniert es gut, wenn man den Browser oder viele Apps geöffnet hat. Wie erwähnt gibt es allerdings einen CPU-Trade-off, daher dürfte sich das auf den Akku auswirken.

 
fanotify 2025-05-13

Sind zram und zswap unterschiedlich?
sudo apt install zram-tools
systemctl enable zramswap
So verwende ich es, aber ich bin mir nicht sicher, ob das zswap ist..

 
hoonix 2025-05-13

Die technischen Bezeichnungen sind ziemlich verwirrend. zram ist eine Kernel-Funktion, die ein Block-Device mit automatischer Komprimierung erstellt, also so etwas wie eine Art Storage bereitstellt. Wenn man darauf dann eine normale Swap-Datei erstellt und verwendet, wie wir sie kennen, erhält man gewissermaßen RAM-basierten Swap plus Komprimierung. Es sieht so aus, als würde der Dienst zramswap genau diese Rolle übernehmen. Später hielt man diesen Anwendungsfall offenbar für nützlich, sodass zram + Swap vollständig als Kernel-Funktion integriert wurden. Das ist zswap. zswap lässt sich auf den meisten Linux-Systemen ohne zusätzliche Installation allein per Befehl aktivieren. (Siehe https://wiki.archlinux.org/title/Zswap)