Optimierung des Speicherplatzes auf Linux-Servern: Erkennung und Lösungen

24. Mai 2023
Speicherplatz ist eine kritische Ressource auf jedem Linux-Server. Seine Optimierung verbessert nicht nur die Leistung, sondern kann auch langfristig erhebliche Einsparungen generieren. In diesem Artikel untersuchen wir, wie man erkennt, was den meisten Speicherplatz auf Ihrem Server verbraucht, und gehen dann effektive Techniken zur Freigabe und Optimierung des Speichers durch.
1. Erkennen, was den meisten Speicherplatz verbraucht
Bevor man Lösungen implementiert, ist es entscheidend zu identifizieren, welche Dateien und Verzeichnisse den meisten Platz auf Ihrem Server belegen. Hier sind einige nützliche Befehle für diesen Zweck:
Verfügbaren Speicherplatz überprüfen:
df -h
Dieser Befehl zeigt den belegten und freien Speicherplatz auf verschiedenen Partitionen an. Der Parameter -h stellt die Informationen in einem menschenlesbaren Format dar (KB, MB, GB).
Die größten Verzeichnisse und Dateien identifizieren:
du -hs * | sort -rh | head -20
Dieser Befehl listet die 20 größten Verzeichnisse oder Dateien im aktuellen Verzeichnis auf. Hier die Aufschlüsselung des Befehls:
du: Schätzt den Speicherplatzverbrauch von Dateien und Verzeichnissen.-h: Zeigt Größen in lesbarem Format (K, M, G).-s: Zeigt nur die Gesamtsumme für jedes Argument.sort -rh: Sortiert die Ergebnisse numerisch (-n) in umgekehrter Reihenfolge (-r).head -20: Zeigt nur die ersten 20 Zeilen des Ergebnisses.
Für eine tiefere Suche können Sie verwenden:
find / -type f -printf '%s %p\n' | sort -nr | head -20
Dieser Befehl durchsucht das gesamte Dateisystem nach den 20 größten Dateien und zeigt deren Größe und Pfad an.
Speicherplatznutzung interaktiv analysieren:
sudo ncdu /
ncdu (NCurses Disk Usage) ist ein interaktives Tool, das es Ihnen ermöglicht, die Festplattennutzung visueller und detaillierter zu erkunden.
2. Techniken zur Optimierung und Freigabe von Speicherplatz
Sobald Sie die problematischen Bereiche identifiziert haben, können Sie die folgenden Techniken implementieren, um den Speicherplatz auf Ihrem Linux-Server zu optimieren:
-
Regelmäßige Bereinigung temporärer Dateien:
sudo tmpwatch 168 /tmpEntfernt Dateien in
/tmp, auf die in den letzten 7 Tagen nicht zugegriffen wurde. -
Unnötige Software deinstallieren: Für Debian/Ubuntu-Systeme:
sudo apt autoremoveFür Red Hat/CentOS-Systeme:
sudo yum autoremove -
Alte Dateien komprimieren:
find /var/log -type f -name "*.log" -mtime +30 -exec gzip {} \;Komprimiert Protokolldateien, die älter als 30 Tage sind.
-
Log-Rotation implementieren: Bearbeiten Sie
/etc/logrotate.confoder erstellen Sie spezifische Konfigurationen in/etc/logrotate.d/. -
Symbolische Links verwenden:
ln -s /pfad/zur/originaldatei /pfad/zum/linkNützlich, um Speicherplatz zu sparen, wenn Sie mehrere Kopien derselben Datei haben.
-
Dateisysteme mit Kompression verwenden: Für Btrfs:
sudo btrfs filesystem defragment -r -v -czstd / -
Festplattenquoten konfigurieren:
sudo quotacheck -cugm /home sudo edquota benutzername -
Datenbanken optimieren: Für MySQL/MariaDB:
mysqlcheck -o --all-databases -u root -p -
Deduplizierungstools verwenden: Für ZFS-Dateisysteme:
zfs set dedup=on pool_name -
Paket-Cache bereinigen: Auf Debian/Ubuntu-Systemen:
sudo apt-get cleanAuf Red Hat/CentOS-Systemen:
sudo yum clean all -
Alte Kernel entfernen: Auf Ubuntu:
sudo apt-get autoremove --purgeAuf CentOS:
package-cleanup --oldkernels --count=2 -
Automatische Bereinigungstools verwenden: Installieren und konfigurieren Sie Tools wie
bleachbitfür automatisierte periodische Bereinigungen.
Die Implementierung dieser Techniken wird Ihnen nicht nur helfen, Speicherplatz auf Ihrem Linux-Server zu sparen, sondern auch seine Effizienz und Gesamtleistung verbessern. Denken Sie immer daran, Backups zu erstellen, bevor Sie signifikante Änderungen an Ihrem System vornehmen.
Wichtiger Hinweis: Einige dieser Befehle erfordern Superuser-Rechte. Stellen Sie sicher, dass Sie vollständig verstehen, was jeder Befehl bewirkt, bevor Sie ihn auf Ihrem Produktionssystem ausführen.