Community-Lösung

ZimaOS 1.6: Hoher Speicherverbrauch – den tatsächlichen Verursacher finden

An 8 GB ZimaOS system showed higher memory use after the 1.6 beta and still looked high after upgrading to the stable release.

Fazit: „ZimaOS verwendet nach 1.6 mehr RAM“ ist nicht spezifisch genug – Prozess oder Container ermitteln

Das 8-GB-System zeigte auch nach dem Wechsel von 1.6.0-beta2 auf die stabile Version eine hohe Speicherauslastung. Damit ist die einfache Erklärung, dass es sich lediglich um einen Beta-Overhead handelte, ausgeschlossen. Der nächste sinnvolle Schritt ist die Zuordnung: Welcher Container, Cache oder Host-Prozess belegt den Speicher, und steht das System tatsächlich unter Speicherdruck?

Ausgabe von docker stats mit dem Speicherverbrauch von Paperless, Immich, Dockhand und anderen ZimaOS-Containern
Der nachfolgende Screenshot schlüsselt den Gesamtspeicher nach Containern auf und ist aussagekräftiger als der Prozentsatz im Dashboard allein.

Mit dem verfügbaren Speicher beginnen, nicht nur mit dem Prozentsatz im Dashboard

free -h
docker stats --no-stream
ps aux --sort=-%mem | head -20
dmesg | grep -i -E 'oom|out of memory'

Linux verwendet ansonsten ungenutzten RAM als Cache. Ein hoher Wert bei „used“ ist bei gesundem available-Speicher und ohne OOM- oder Swap-Druck etwas anderes als ein Leak. Die Linux-Speicherverwaltung ist die maßgebliche Referenz.

Container-Gesamtwerte erklären nur einen Teil des Hosts

Der Screenshot zeigt mehrere Container, die jeweils Hunderte Megabyte verbrauchen. Ihre Summe entspricht jedoch nicht unbedingt dem gesamten Host-Speicherverbrauch. Docker-Speichermetriken, Kernel-Cache, Seiten-Cache und Dienste außerhalb von Containern sind separate Abrechnungsebenen. Die Docker-Containerstatistiken erläutern die Ansicht auf Containerebene.

Nicht davon ausgehen, dass die stabile Version 1.6.0 eine allgemeine Behebung von Speicherlecks enthielt

In den aktuellen Versionshinweisen zu 1.6.0 werden Fehlerbehebungen für Speicher, den Docker-Start, Dateien und das Netzwerk aufgeführt, jedoch keine allgemeine Behebung von Speicherlecks dokumentiert. Eine aktuelle Diagnose sollte daher evidenzbasiert bleiben, statt zu behaupten: „Aktualisieren, dann ist das Problem behoben.“

Die ZimaOS-Änderungen in Version 1.6 liefern den aktuellen Versionskontext.

Was als tatsächliches Leak gilt

Beobachte denselben Prozess über mehrere Stunden. Ein Leak ist wahrscheinlicher, wenn ein Prozess kontinuierlich wächst, der verfügbare Speicher abnimmt, die Swap-Nutzung steigt oder der Kernel beginnt, Prozesse zu beenden. Wenn der Speicherverbrauch ein Plateau erreicht und das System reaktionsfähig bleibt, handelt es sich möglicherweise einfach um einen größeren Arbeitssatz im stabilen Betrieb.

Die ZimaOS-App-Anforderungen helfen dabei festzustellen, ob die installierte App-Kombination für einen Host mit 8 GB einfach zu umfangreich ist.