Wie man den RAM- und CPU-Verbrauch auf Linux reduziert

Linux ist ein leistungsstarkes und effizientes Betriebssystem, aber hoher RAM- und CPU-Verbrauch kann die Leistung beeinträchtigen, Anwendungen verlangsamen und sogar Systemabstürze verursachen, wenn Sie einen Server, eine Workstation oder ein eingebettetes System betreiben, und die Optimierung der Ressourcennutzung ist entscheidend für einen reibungslosen Betrieb.

In diesem Leitfaden werden wir praktische Methoden zur Reduzierung von RAM- und CPU-Nutzung unter Linux untersuchen. Wir werden Überwachungstools, Prozessmanagement, Kernel-Anpassungen und Techniken zur Systemoptimierung behandeln, um Ihr System effizient am Laufen zu halten.

1. Identifizieren von ressourcenhungrigen Prozessen

Der erste Schritt zur Reduzierung von RAM- und CPU-Nutzung besteht darin, die Prozesse zu identifizieren, die die meisten Ressourcen verbrauchen, indem mehrere Kommandozeilen-Tools verwendet werden:

a. Verwendung des top-Befehls

Der top-Befehl bietet eine Echtzeitansicht der Systemprozesse, einschließlich CPU- und Speichernutzung.

top
  • Drücken Sie P, um die Prozesse nach CPU-Nutzung zu sortieren.
  • Drücken Sie M, um die Prozesse nach Speichernutzung zu sortieren.
  • Suchen Sie nach Prozessen, die übermäßige Ressourcen verbrauchen, und notieren Sie deren Prozess-ID (PID).
Real-Time System Process Monitoring

b. Verwendung des htop-Befehls

htop ist ein interaktiver Prozessmonitor, der eine benutzerfreundlichere Benutzeroberfläche als top bietet.

Um htop unter Linux zu installieren, verwenden Sie den entsprechenden Befehl für Ihre spezifische Linux-Distribution.

sudo apt install htop         [On Debian, Ubuntu and Mint]
sudo dnf install htop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/htop  [On Gentoo Linux]
sudo apk add htop             [On Alpine Linux]
sudo pacman -S htop           [On Arch Linux]
sudo zypper install htop      [On OpenSUSE]    
sudo pkg install htop         [On FreeBSD]

Führen Sie htop aus, um Prozesse einfach anzuzeigen und zu verwalten.

htop
  • Drücken Sie F6, um Prozesse nach CPU- oder Speicherauslastung zu sortieren.
  • Drücken Sie F9, um einen ausgewählten Prozess zu beenden.
htop – Interactive Process Viewer

c. Verwendung des ps-Befehls

Der ps-Befehl kann verwendet werden, um Prozesse und ihre Ressourcennutzung aufzulisten.

ps aux --sort=-%mem | head  # Top memory-consuming processes
ps aux --sort=-%cpu | head  # Top CPU-consuming processes
Check Memory Consuming Processes

2. Beenden Sie nicht benötigte Prozesse

Sobald Sie ressourcenintensive Prozesse identifiziert haben, können Sie sie beenden, um Ressourcen freizugeben, indem Sie den kill-Befehl gefolgt von der PID verwenden.

kill PID

Wenn der Prozess nicht beendet wird, verwenden Sie die Option -9, um ihn gewaltsam zu beenden.

kill -9 PID

Alternativ können Sie den pkill-Befehl verwenden, um Prozesse nach Namen zu beenden.

pkill process_name

3. Optimieren Sie Startanwendungen

Viele Anwendungen und Dienste starten automatisch beim Booten und verbrauchen wertvolle Systemressourcen.

Um Startanwendungen zu verwalten:

a. Verwendung des systemctl-Befehls

Liste alle aktivierten Dienste mit dem systemctl-Befehl auf.

systemctl list-unit-files --type=service | grep enabled

Deaktiviere unnötige Dienste.

sudo systemctl disable service_name
List Enabled Services

b. Verwendung von GUI-Tools

Wenn du eine Desktop-Umgebung wie GNOME oder KDE verwendest, verwende den integrierten Startanwendungsmanager, um unnötige Programme zu deaktivieren.

4. Verringere die Swappiness (Optimiere die Nutzung des Swap-Speichers)

Swappiness steuert, wie oft das System den Swap-Speicher anstelle von RAM verwendet. Ein hoher Swappiness-Wert kann zu übermäßigem Swappen führen und das System verlangsamen.

Um den aktuellen Swappiness-Wert zu überprüfen:

cat /proc/sys/vm/swappiness

Der Standardwert ist normalerweise 60, aber um die Swappiness zu verringern, musst du die Datei /etc/sysctl.conf bearbeiten.

sudo nano /etc/sysctl.conf

Füge die folgende Zeile hinzu oder ändere sie.

vm.swappiness=10

Speichere die Datei und wende die Änderungen an.

sudo sysctl -p

5. Verwende leichte Desktop-Alternativen

Schwere Desktop-Umgebungen und Anwendungen können die Systemressourcen belasten, daher solltest du auf leichte Alternativen umsteigen:

a. Desktop-Umgebungen

Ersetzen Sie GNOME oder KDE durch leichtere Optionen wie XFCE, LXDE oder MATE.

b. Anwendungen

Verwenden Sie leichtgewichtige Anwendungen wie:

  • Texteditor: Ersetzen Sie LibreOffice durch AbiWord oder Mousepad.
  • Webbrowser: Verwenden Sie Firefox mit weniger Erweiterungen oder wechseln Sie zu leichtgewichtigen Browsern wie Midori.
  • Dateimanager: Ersetzen Sie Nautilus durch Thunar oder PCManFM.

6. Cache und Puffer löschen

Linux verwendet RAM, um Dateien zu zwischenspeichern und die Leistung zu verbessern. Sie können jedoch bei Bedarf den Cache manuell löschen:

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

Mit diesem Befehl werden der Seiten-Cache, die Verzeichniseinträge und die Inodes gelöscht. Verwenden Sie ihn vorsichtig, da dadurch vorübergehend die Dateizugriffe verlangsamt werden können.

7. Kernel-Parameter optimieren

Um Kernel-Parameter anzupassen oder zu optimieren, müssen Sie die Datei /etc/sysctl.conf bearbeiten und die folgenden Parameter hinzufügen oder anpassen, um die Systemleistung zu verbessern.

vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0

Diese Einstellungen steuern, wie oft schmutzige Daten auf die Festplatte geschrieben werden, um den RAM-Verbrauch zu reduzieren.

8. Speichernutzung mit ZRAM reduzieren

Zram und Zswap sind komprimierte Speichertechnologien, die den RAM-Verbrauch reduzieren können.

sudo apt install zram-config 
sudo systemctl start zram-config

Nach der Installation müssen Sie die GRUB-Konfigurationsdatei (/etc/default/grub) bearbeiten und Folgendes hinzufügen:

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"

GRUB aktualisieren und neu starten:

sudo update-grub
sudo reboot

9. CPU-Auslastung von Prozessen begrenzen

Wenn ein Prozess die CPU blockiert, begrenzen Sie seine Nutzung mit cpulimit.

sudo apt install cpulimit  # Debian/Ubuntu  
sudo yum install cpulimit  # RHEL/CentOS  

Begrenzen Sie einen Prozess (z.B. firefox) auf 30% CPU-Nutzung.

sudo cpulimit -e firefox -l 30

Um einen Prozess dauerhaft zu begrenzen, verwenden Sie systemd.

sudo systemctl set-property <service_name> CPUQuota=30%

10. Aktualisieren Sie Ihr System regelmäßig

Das regelmäßige Aktualisieren des Systems stellt sicher, dass Sie die neuesten Leistungsverbesserungen und Fehlerkorrekturen haben.

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

Fehlersuchtipps

  • Wenn ein Prozess mit kill nicht beendet wird, verwenden Sie kill -9 PID, um ihn zwangsweise zu beenden.
  • Wenn zram oder zswap nicht funktionieren, stellen Sie sicher, dass Ihr Kernel diese Funktionen unterstützt.
  • Wenn sich die Systemleistung nicht verbessert, erwägen Sie eine Aktualisierung Ihrer Hardware (z.B. Hinzufügen von mehr RAM oder Umstieg auf eine SSD).
Zusammenfassung

Die Optimierung des RAM- und CPU-Verbrauchs unter Linux ist eine Mischung aus Überwachung, Feinabstimmung und gelegentlicher Hardware-Aufrüstung. Durch die Identifizierung von ressourcenintensiven Prozessen, die Anpassung der Systemeinstellungen und die Wahl leichtgewichtiger Alternativen können Sie Ihrem System neues Leben einhauchen.

Haben Sie diese Optimierungstechniken ausprobiert? Teilen Sie Ihre Erfahrungen in den Kommentaren unten mit oder besuchen Sie Tecmint.com für weitere Linux-Anleitungen und Tutorials.

Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/