Temporäre Transkodierungsdateien füllen weiterhin das Systemlaufwerk: So stoppen Sie das

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.

Stoppen Sie die aktive Transkodierung, überprüfen Sie, wo temporäre Segmente gespeichert werden, erzwingen Sie anschließend die Bereinigung und verlagern Sie den Pfad vom Systemlaufwerk.

Ein Medienserver kann HLS-Segmente, remuxte Streams, Ausgaben mit eingebrannten Untertiteln und unvollständige Sitzungsdateien unter seinem standardmäßigen Cache- oder Anwendungsverzeichnis speichern, selbst wenn die Quellbibliothek auf einem großen Speicherpool liegt. Das Systemlaufwerk wird voll, wenn diese Dateien nicht schnell genug gelöscht werden, das Transkodierungsverzeichnis falsch zugeordnet ist oder verwaiste Sitzungen nach dem Ende der Wiedergabe bestehen bleiben. Ermitteln Sie das tatsächliche Verzeichnis und die betreffende Sitzung, bevor Sie Dateien löschen oder den Cache verlagern.

Aktives Transkodierungsverzeichnis und größte Sitzungen ermitteln

Starten Sie eine kontrollierte Transkodierung und beobachten Sie, welches Verzeichnis wächst. Notieren Sie die Anwendungseinstellung, den Containerpfad, das Bind-Mount des Hosts, das Dateisystem, den verfügbaren Speicherplatz, die Dateianzahl und die größten Sitzungsunterverzeichnisse.

Jellyfin stellt einen separaten beschreibbaren Speicherort für temporäre Transkodierungsdateien bereit. Das bestätigt, dass sich der Transkodierungspfad vom dauerhaften Medienbibliotheks- und Metadatenpfad unterscheidet. Die relevante Einstellung ist der temporäre Transkodierungspfad.

Wenn die Anwendung einen Pfad anzeigt, aber ein anderes Hostlaufwerk voll wird, überprüfen Sie die tatsächlich wirksamen Docker-Mounts und die beschreibbare Ebene. Ein fehlendes Bind-Mount kann dazu führen, dass der Container temporäre Dateien im vom System bereitgestellten Container-Dateisystem statt im vorgesehenen Cache-Volume speichert.

Ersteller vor einer Notfallbereinigung stoppen

Ermitteln Sie aktive Wiedergabesitzungen und stoppen Sie nur die Transkodierungen, die zu den schnell wachsenden Dateien gehören. Sichern Sie vor der Freigabe von Speicherplatz das aktuelle FFmpeg-Protokoll, den Quelltitel, den Client, die Ausgabe-Bitrate, die Untertitel und die Startzeit.

Alte Transkodierungsdateien sind bereits nach dem Ende der Wiedergabe bestehen geblieben und haben dazu geführt, dass die Festplatte vollgelaufen ist und der Server nicht mehr starten konnte. Ein Jellyfin-Problem dokumentiert einen Film, der noch Stunden nach dem Ende der Wiedergabe den temporären Transkodierungsordner belegte.

Entfernen Sie keine Dateien einer aktiven Sitzung, während FFmpeg sie noch schreibt. Stoppen Sie die Sitzung oder den Server ordnungsgemäß, bestätigen Sie, dass die Dateien nicht mehr geöffnet sind, und entfernen Sie anschließend nur eindeutig temporäre Ausgaben, statt den gesamten Cache oder die Anwendungsdatenbank zu löschen.

Segmentlöschung für lange Streaming-Sitzungen aktivieren

Prüfen Sie, ob der Server heruntergeladene HLS-Segmente während der Wiedergabe löscht. Ohne Segmentlöschung kann ein langer Film oder Livestream ausreichend Speicherplatz benötigen, um die gesamte erzeugte Ausgabe aufzubewahren.

Jellyfin beschreibt die Segmentlöschung als das Entfernen alter Segmente, nachdem der Client sie heruntergeladen hat, damit der Server nicht die vollständige transkodierte Datei speichern muss. Die Option dient ausdrücklich dazu, die Speicherung des vollständigen Streams zu verhindern.

Aktivieren Sie die Funktion für einen Testclient und überwachen Sie Wiedergabe, Spulen und Fortsetzen. Lassen Sie sie nur deaktiviert, wenn ein reproduzierbares Clientproblem die Beibehaltung der Segmente erfordert. Sorgen Sie in diesem Fall für ein größeres dediziertes Transkodierungs-Volume und eine strengere Sitzungsbereinigung.

Transkodierungspfad auf ein dediziertes schnelles Volume verschieben

Wählen Sie eine dedizierte SSD, einen NVMe-Cache oder ein ausreichend großes temporäres Dateisystem, das vom Root-Dateisystem des Betriebssystems getrennt ist. Das Ziel muss gleichzeitige Schreibvorgänge bewältigen und genügend Kapazität für die erwarteten Transkodierungssitzungen im ungünstigsten Fall bieten.

Nutzer, die Transkodierungen auf kleinen RAM-Laufwerken speichern, haben eine Cache-Begrenzung angefordert, da das Verzeichnis weiter wachsen kann, bis das temporäre Gerät erschöpft ist. Die Fehlergrenze ist ein unbegrenzter Transkodierungs-Cache – unabhängig davon, ob das zugrunde liegende Gerät ein RAM-Laufwerk oder eine SSD ist.

Stoppen Sie den Server, erstellen Sie das neue Verzeichnis mit den korrekten Besitzrechten für den Dienst, binden Sie es explizit in den Container ein und aktualisieren Sie die Anwendungseinstellung auf den im Container sichtbaren Pfad. Führen Sie eine Transkodierung aus und überprüfen Sie, dass das Host-Systemlaufwerk nicht mehr wächst.

Veraltete Sitzungen und Bereinigungsfehler finden

Vergleichen Sie temporäre Sitzungsverzeichnisse mit den IDs aktiver Wiedergabesitzungen und den FFmpeg-Prozessen. Dateien ohne passende Sitzung, ohne geöffneten Prozess und mit altem Änderungszeitpunkt kommen für eine unterstützte Bereinigung infrage.

Gehen Sie nicht davon aus, dass eine allgemeine Cache-Bereinigungsaufgabe jedes Transkodierungsartefakt entfernt. Der frühere Jellyfin-Bereinigungsbericht stellte fest, dass die normale Cache-Aufgabe die veraltete Transkodierungsdatei nicht entfernte. Entscheidend ist daher, ob die sitzungsspezifische Bereinigung abgeschlossen wurde.

Überprüfen Sie das Serverprotokoll im Zusammenhang mit Clienttrennungen, Containerneustarts, Abstürzen, Netzwerkausfällen und erzwungenen Prozessbeendigungen. Beheben Sie die Ursache, die verhindert, dass der Server ein sauberes Stoppsignal erhält, statt sich ausschließlich auf ein tägliches Löschskript zu verlassen.

Transkodierungsbedarf bei maximaler gleichzeitiger Nutzung messen

Führen Sie eine typische Remote-Transkodierung aus und messen Sie die temporären Bytes pro Minute. Wiederholen Sie den Test mit eingebrannten Untertiteln, HDR-Tonemapping und der höchsten unterstützten Ausgabe-Bitrate. Multiplizieren Sie den Wert anschließend mit der vorgesehenen Anzahl gleichzeitiger Sitzungen und der Aufbewahrungsdauer.

Ein vollständig belegtes Systemlaufwerk kann den Medienserver über die Wiedergabe hinaus beeinträchtigen. In einem Jellyfin-Supportfall wurde darauf hingewiesen, dass Transkodierungen, die das Laufwerk füllten, möglicherweise dazu führten, dass die Weboberfläche keine Verbindung mehr herstellte. Dies zeigt, dass die Erschöpfung des System-Volumes die Verfügbarkeit der Anwendung beeinträchtigt.

Reservieren Sie freien Speicherplatz für das Betriebssystem, Protokolle, Datenbanken, Paketaktualisierungen und Docker-Metadaten. Das Transkodierungs-Volume sollte unabhängig ausfallen können, ohne den Serverstart oder das Öffnen der Medienanwendung zu verhindern.

Bereinigung überprüfen und Kapazitätswarnungen hinzufügen

Testen Sie den Start der Wiedergabe, das Spulen, das Pausieren, die Clienttrennung, den Serverneustart und gleichzeitige Sitzungen. Bestätigen Sie, dass aktive Dateien ausschließlich im dedizierten Transkodierungspfad wachsen und nach dem Ende der Sitzungen wieder kleiner werden.

Der ZimaSpace-Leitfaden zum Aufbau eines Heimmedienservers beschreibt den umfassenderen Prüfpfad zur Trennung von Quellspeicher sowie Anwendungs- und temporären Arbeitslasten.

Die Reparatur ist abgeschlossen, wenn veraltete Sitzungen nicht mehr bestehen bleiben, die Segmentlöschung mit unterstützten Clients funktioniert, das Systemlaufwerk eine sichere Reserve behält und Warnungen ausgelöst werden, bevor entweder das dedizierte Transkodierungs-Volume oder das Root-Dateisystem seinen Kapazitätsschwellenwert erreicht.

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.