Verwenden Sie ncdu unter CasaOS, wenn Sie herausfinden müssen, welche Ordner tatsächlich Speicherplatz belegen. Scannen Sie jedoch den richtigen Hostpfad – nicht nur ein winziges Container-Dateisystem. Für aktuelle Linux-Systeme stellt das Upstream-Projekt statische Binärdateien bereit, und ncdu 2.x ist der schnellste Weg zur interaktiven Analyse der Festplattennutzung.
Das BigBear-Tutorial aus dem Jahr 2024 eignet sich als Einführung, aber Sie benötigen keinen speziellen App-Store-Container, um ncdu zu verwenden. Für die Speicherfehleranalyse ist ein Host-Terminal oder ein Container mit einem ausdrücklich schreibgeschützt eingebundenen Zielpfad transparenter.
Wofür ncdu geeignet ist
ncdu ist ein interaktiver Analysator für die Festplattennutzung. Es scannt Verzeichnisse, sortiert sie nach Größe und ermöglicht es Ihnen, große Ordner zu durchsuchen, ohne manuell mehrere Befehle zu verketten. du Befehle.
Die aktuelle ncdu-Projektseite führt statische ncdu-2.x-Binärdateien für x86_64, ARM und AArch64 auf.
Mit dem tatsächlich vollen Dateisystem beginnen
Ausführen:
df -h
Ermitteln Sie den Einhängepunkt mit wenig freiem Speicher. Scannen Sie anschließend diesen Einhängepunkt, anstatt ncdu blind auszuführen unter /.
Einen CasaOS-Datenpfad scannen
Typische Beispiele:
ncdu /DATA
ncdu /media
ncdu /var/lib/docker
Der genaue Pfad hängt von Ihrer Installation ab. Wenn Docker oder AppData als Ursache vermutet wird, prüfen Sie diesen Speicherort direkt.
Seien Sie beim Scannen der Docker-internen Verzeichnisse vorsichtig
/var/lib/docker enthält Image-Layer, beschreibbare Layer, Protokolle und Metadaten. ncdu kann anzeigen, welche Verzeichnisse groß sind, aber das manuelle Löschen beliebiger Overlay-Dateien kann den Docker-Zustand beschädigen.
Verwenden Sie Docker-spezifische Bereinigungsbefehle für Images, Container und Caches, anstatt interne Layer-Verzeichnisse aus ncdu zu löschen.
Containerisiertes ncdu hat eine eingeschränkte Sichtbarkeit
Wenn Sie ncdu in einem Container ausführen, sieht es nur die Pfade, die Sie in diesen Container einbinden. Ein Scan des Container-Roots sagt fast nichts über die gesamte Festplattennutzung von CasaOS aus.
Wenn Sie Docker bevorzugen, binden Sie den Zielpfad des Hosts schreibgeschützt ein und scannen Sie diesen Einhängepunkt. Lassen Sie das Löschen während der Diagnose deaktiviert.
Große AppData-Ordner zuerst finden
Selbst gehostete Apps können Vorschaubilder, Protokolle, Caches, Datenbanken und heruntergeladene Metadaten ansammeln. Der Docker-Speicherleitfaden erklärt, warum die AppData des Hosts wachsen kann, selbst wenn Container-Images klein sind.
Häufige Ursachen für hohen Speicherplatzverbrauch
- Medien-Transkodierungs-Cache;
- JSON-Logs von Containern;
- Datenbankdateien;
- Foto-Miniaturansichten und Indizes für maschinelles Lernen;
- unvollständige Ordner von Download-Clients;
- alte Backups;
- Docker-Images und Build-Cache.
Lösche nichts, bevor du weißt, wem der Ordner gehört
Verwende ncdu, um den großen Pfad zu ermitteln, und bestimme anschließend, welche Anwendung ihn verwendet. Beende die betreffende Anwendung, bevor du Daten löschst, die möglicherweise gerade geschrieben werden.
Ausschlüsse verwenden, um große Scans aussagekräftiger zu machen
Auf einem Server mit eingebundenen Netzwerkfreigaben, Backups oder externen Laufwerken kann das Scannen des falschen Verzeichnisbaums lange dauern und unabhängigen Speicherplatz in einem einzigen Ergebnis vermischen. Beginne am genauen Mountpoint, der von df -h und vermeide es, in entfernte Mounts zu wechseln, sofern diese nicht das Problem darstellen.
Für wiederholte Fehleranalysen kann ncdu Scandaten exportieren, sodass du das Wachstum im Laufe der Zeit vergleichen kannst, anstatt bei jeder Sitzung ein riesiges Dateisystem erneut zu scannen.
Gelöschte, aber noch geöffnete Dateien verstehen
Manchmal df ein vollständiges Dateisystem meldet, während ncdu nicht genügend sichtbare Dateien findet, um dies zu erklären. Eine Ursache kann ein Prozess sein, der eine bereits gelöschte Datei geöffnet hält. Der Verzeichniseintrag ist verschwunden, aber die Blöcke bleiben belegt, bis der Prozess die Datei schließt.
das ncdu-Gesamtergebnis df deutlich abweichen, untersuche geöffnete gelöschte Dateien mit einem Tool wie lsof +L1 wenn es auf dem Host verfügbar ist. Durch einen Neustart des zuständigen Dienstes kann der Speicherplatz freigegeben werden, sobald du verstanden hast, worum es sich handelt.
Verwende ncdu als Messwerkzeug, nicht als Bereinigungsrichtlinie
Ein großer Cache kann gefahrlos gelöscht werden, während ein ähnlich großes Datenbankverzeichnis kritisch sein kann. Der Wert von ncdu besteht darin, zu zeigen, wohin der Speicherplatz gegangen ist; die zuständige Anwendung sollte bestimmen, wie dieser Speicherplatz freigegeben wird.
FAQ
Kann ncdu Dateien löschen?
Ja, aber lösche vorsichtig. Bei Docker-internen Daten, Datenbanken und von Apps verwalteten Daten solltest du vorzugsweise den eigenen Bereinigungsablauf der jeweiligen Anwendung verwenden.
Warum zeigt ncdu weniger Speicherplatz an als df?
Mögliche Gründe sind gelöschte, aber noch geöffnete Dateien, nicht zugängliche Verzeichnisse, Dateisystemmetadaten, Snapshots oder Daten außerhalb des gescannten Mountpoints.
Benötige ich BigBearCasaOS, um ncdu zu installieren?
Nein. Es handelt sich um eine Paketierungsoption. Der aktuelle Upstream stellt auch eigenständige statische Binärdateien bereit.
Wo sollte ich zuerst scannen?
Verwenden df -h um den vollständigen Mountpoint zu ermitteln und anschließend genau diesen Pfad mit ncdu zu scannen.
