So verhindern Sie, dass Jellyfin-Protokolle die Systemfestplatte füllen

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Jellyfin-Protokolle sollten niemals so stark anwachsen dürfen, dass sie mit der Datenbank, dem Cache oder dem Betriebssystem um die letzten freien Gigabytes konkurrieren. Verhindern Sie den Ausfall, indem Sie sowohl die Protokollausführlichkeit von Jellyfin selbst als auch die Protokollierungsebene des Containers oder Hosts begrenzen, die möglicherweise dieselben Ereignisse erneut erfasst.

Auf einem kleinen Systemdatenträger eines Heimservers wird dies leicht übersehen, da zwei unabhängige Protokollpfade gleichzeitig wachsen können: Jellyfin schreibt Anwendungsprotokolle, während Docker, journald oder ein anderer Supervisor stdout und stderr separat speichern kann. Ermitteln Sie zunächst, welcher Pfad tatsächlich Speicherplatz verbraucht, begrenzen Sie dann die Aufbewahrung auf dieser Ebene, überprüfen Sie die Bereinigung im normalen Betrieb und richten Sie eine Warnung für den freien Speicherplatz ein, damit eine künftige Debug-Sitzung den Datenträger nicht unbemerkt füllen kann.

Ermitteln, welcher Protokollspeicher tatsächlich wächst

Messen Sie, bevor Sie etwas löschen. Vergleichen Sie die Größe des konfigurierten Protokollverzeichnisses von Jellyfin mit dem Protokollspeicher der Container-Runtime oder des Dienstmanagers und beobachten Sie, welcher davon wächst, während Sie einen normalen Bibliotheksscan oder eine Wiedergabesitzung reproduzieren. Wenn nur ein Pfad wächst, beheben Sie diesen Pfad, anstatt mehrere Rotationsänderungen gleichzeitig anzuwenden.

Der Leitfaden zur Fehlerbehebung von Jellyfin weist darauf hin, dass die Debug-Protokollierung eine sehr große Ausgabemenge erzeugen kann und nur für kurze Zeiträume zur Fehlerdiagnose gedacht ist. Prüfen Sie daher zunächst, ob eine benutzerdefinierte logging.json ausführliche Kategorien aktiviert lässt. Lesen Sie die Hinweise zur Debug-Protokollierung, bevor Sie Aufbewahrungswerte ändern.

Wenn das eigene Protokollverzeichnis von Jellyfin stabil bleibt, der Systemdatenträger des Hosts jedoch weiter schrumpft, prüfen Sie als Nächstes die Laufzeitprotokolle. In diesem Fall würde das Löschen von Jellyfin-Protokolldateien nur das sichtbare Symptom behandeln, während die zweite Protokollierungsebene weiter wächst.

Eine Aufbewahrungsgrenze auf der Laufzeitebene festlegen

Wählen Sie für Container einen Protokolltreiber und eine Rotationsrichtlinie mit einem festgelegten Maximum, statt sich auf unbegrenztes Wachstum zu verlassen. Wenden Sie die Einstellung auf neu erstellte Container an und dokumentieren Sie das gewählte Maximum, damit ein späterer Neuaufbau der Compose-Datei den Schutz nicht entfernt.

Docker dokumentiert, dass seine standardmäßige json-file-Protokollierung erheblichen Speicherplatz verbrauchen kann, wenn keine Rotation konfiguriert ist, während der local-Treiber standardmäßig rotiert. Nutzen Sie dieses Verhalten bei der Rotation von Containerprotokollen, um zu entscheiden, ob Sie max-size/max-file begrenzen oder den lokalen Treiber verwenden.

Erstellen Sie den Jellyfin-Container nach der Änderung der Laufzeitrichtlinie neu, falls dies von Ihrer Runtime erforderlich ist, und bestätigen Sie, dass der aktive Container tatsächlich den neuen Treiber verwendet. Eine Einstellung auf Daemon-Ebene, die nur für neue Container gilt, ist erst dann eine erfolgreiche Lösung, wenn die Jellyfin-Instanz sie übernommen hat.

Die Jellyfin-Bereinigung sinnvoll nutzen, sie aber nicht als einzigen Schutz betrachten

Jellyfin enthält Wartungsaufgaben, die Protokolle, Cache, Aktivitätsprotokolle und Transkodierungsdaten löschen. Die geplante Bereinigung ist jedoch eine zweite Verteidigungslinie und keine Erlaubnis, die Protokollierung unbegrenzt wachsen zu lassen. Eine Aufgabe kann fehlschlagen, sich verzögern oder erst ausgeführt werden, nachdem ein Ausbruch bereits den verbleibenden Systemspeicher aufgebraucht hat.

Überprüfen Sie im Aufgabenverlauf des Dashboards, ob die Aufgabe zur Protokollbereinigung erfolgreich ausgeführt wird, und vergleichen Sie anschließend die Größe des Protokollverzeichnisses vor und nach der nächsten geplanten Ausführung. Wenn das Verzeichnis nie kleiner wird, untersuchen Sie Aufgabenfehler oder einen nicht übereinstimmenden Pfad, statt das Intervall blind zu verkürzen.

Ein nützliches Muster für Heimserver besteht darin, den Anwendungsstatus und Medienabläufe nachvollziehbar zu halten, ohne dass Diagnose- dateien den Bootdatenträger dominieren. Derselbe ressourcenorientierte Ansatz ist bei der Fehlerbehebung bei Jellyfin-Pufferung hilfreich, denn Protokolle helfen nur, wenn sie auf den tatsächlichen Engpass hinweisen.

-15% OFF

Debug-Protokollierung als zeitlich begrenzten Diagnosemodus verwenden

Wenn Sie eine Debug-Ausgabe benötigen, legen Sie vor der Aktivierung den Startzeitpunkt, das Reproduktionsfenster und die Abbruchbedingung fest. Erfassen Sie den fehlschlagenden Vorgang, speichern Sie den relevanten Protokollausschnitt an einem sicheren Ort und setzen Sie die Konfiguration sofort nach der Beweissicherung wieder auf die normale Ausführlichkeit zurück.

Lassen Sie die Debug-Protokollierung nicht tagelang aktiviert, nur weil derzeit ausreichend Speicherplatz verfügbar ist. Ein Abend mit geringer Auslastung und ein Bibliotheksscan können sehr unterschiedliche Datenmengen erzeugen. Eine Einstellung, die während eines Tests harmlos wirkt, kann bei geplanten Aufgaben teuer werden.

Starten Sie Jellyfin nach der Rückkehr zur normalen Protokollierung einmal neu, falls dies die Konfiguration erfordert, und reproduzieren Sie eine normale Wiedergabe sowie eine geplante Aufgabe. Die Wachstumsrate der Protokolle sollte auf ihren Ausgangswert zurückkehren. Falls nicht, öffnen Sie die Konfiguration erneut und prüfen Sie, ob es sich bei der erwarteten Datei tatsächlich um die von Jellyfin geladene Datei handelt.

Eine Bedingung für den freien Speicherplatz festlegen, bevor der Datenträger kritisch wird

Richten Sie eine einfache Warnung für das Dateisystem ein, das die Jellyfin-Daten, Laufzeitprotokolle oder das Betriebssystem enthält. Der Schwellenwert sollte genügend Platz lassen, um die Ursache zu untersuchen und Dienste sicher anzuhalten, statt zu warten, bis Schreibvorgänge auf dem gesamten Host fehlschlagen.

Wenn der freie Speicherplatz unerwartet sinkt, stoppen Sie zuerst die Quelle mit hohem Protokollaufkommen, bewahren Sie eine kleine Diagnoseprobe auf und entfernen Sie nur bekannte entbehrliche Protokolle oder Caches. Beginnen Sie nicht damit, Jellyfin-Datenbanken, Konfigurationen oder unbekannte Volume-Inhalte zu löschen, um Speicherplatz freizugeben.

Die Vorbeugung ist abgeschlossen, wenn normale Wiedergabe, eine Bibliotheksaufgabe und ein Neustart kein unbegrenztes Wachstum mehr verursachen und die Warnung deutlich über ihrem Auslösewert bleibt. Wenn der Speicherplatz trotz begrenzter Protokollierung weiter abnimmt, führen Sie eine umfassendere Speicherplatzprüfung durch, da nun nicht mehr nachgewiesen ist, dass Jellyfin-Protokolle die Ursache sind.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.