Stop de actieve transcodeertaak, controleer waar tijdelijke segmenten worden opgeslagen en dwing vervolgens opschoning af. Verplaats het pad weg van de systeemschijf.
Een mediaserver kan HLS-segmenten, geremuxte streams, uitvoer met ingebrande ondertiteling en onvoltooide sessiebestanden opslaan in de standaardcache of toepassingsmap, zelfs wanneer de bronbibliotheek op een grote opslagpool staat. De systeemschijf raakt vol wanneer deze bestanden niet snel genoeg worden verwijderd, de transcodemap verkeerd is gekoppeld of achtergebleven sessies na het afspelen blijven bestaan. Stel vast om welke map en sessie het werkelijk gaat voordat je bestanden verwijdert of de cache verplaatst.
Vind de actieve transcodemap en de grootste sessies
Start één gecontroleerde transcodering en kijk welke map groter wordt. Noteer de toepassingsinstelling, het containerpad, de bindkoppeling op de host, het bestandssysteem, de beschikbare ruimte, het aantal bestanden en de grootste sessiesubmappen.
Jellyfin biedt een afzonderlijke beschrijfbare locatie voor tijdelijke transcodebestanden. Daarmee wordt bevestigd dat het transcodepad losstaat van de permanente media- en metadatapaden. De relevante instelling is het tijdelijke transcodepad.
Als de toepassing één pad toont, maar een andere hostschijf volloopt, controleer dan de effectieve koppelingen en beschrijfbare laag van Docker. Door een ontbrekende bindkoppeling kan de container tijdelijke bestanden naar het containerbestandssysteem op de systeemschijf schrijven in plaats van naar het bedoelde cachevolume.
Stop de producent voordat je noodopschoning uitvoert
Identificeer actieve afspeelsessies en stop alleen de transcoderingen die bij de snel groeiende bestanden horen. Sla het meest recente FFmpeg-logboek, de brontitel, client, uitvoerbitrate, ondertitels en starttijd op voordat je ruimte vrijmaakt.
Oude transcodebestanden zijn eerder blijven bestaan nadat het afspelen was beëindigd, waardoor de schijf vol liep en de server niet meer kon starten. Een Jellyfin-issue beschrijft een film die uren nadat de gebruiker was gestopt met kijken nog steeds ruimte innam in de tijdelijke transcodemap.
Verwijder geen bestanden van een actieve sessie zolang FFmpeg ze nog beschrijft. Stop de sessie of server op de juiste manier, controleer of de bestanden niet meer geopend zijn en verwijder vervolgens alleen bevestigde tijdelijke uitvoer. Verwijder niet de volledige cache of toepassingsdatabase.
Schakel segmentverwijdering in voor lange streamsessies
Controleer of de server gedownloade HLS-segmenten tijdens het afspelen verwijdert. Zonder segmentverwijdering kan voor een lange film of livestream voldoende schijfruimte nodig zijn om de volledige gegenereerde uitvoer te bewaren.
Jellyfin beschrijft segmentverwijdering als het verwijderen van oude segmenten nadat de client ze heeft gedownload, zodat de server niet het volledige getranscodeerde bestand hoeft te bewaren. De optie is specifiek bedoeld om opslag van de volledige stream te voorkomen.
Schakel dit in voor een testclient en controleer het afspelen, vooruit- en terugspoelen en hervatten. Laat het alleen uitgeschakeld wanneer een reproduceerbaar clientprobleem het bewaren van segmenten vereist. Compenseer dit met een groter speciaal transcodevolume en strengere sessieopruiming.
Verplaats het transcodepad naar een speciaal snel volume
Kies een speciale SSD, NVMe-cache of voldoende groot tijdelijk bestandssysteem dat gescheiden is van de rootpartitie van het besturingssysteem. De bestemming moet gelijktijdige schrijfbewerkingen aankunnen en voldoende capaciteit hebben voor de maximaal verwachte transcodesessies.
Gebruikers die transcodes op kleine RAM-schijven plaatsen, hebben om een cach limiet gevraagd omdat de map kan blijven groeien totdat het tijdelijke apparaat vol is. De foutgrens is een onbegrensde transcodecache, ongeacht of het opslagapparaat RAM of een SSD is.
Stop de server, maak de nieuwe map aan met het juiste eigenaarschap voor de service, koppel deze expliciet in de container en werk de toepassingsinstelling bij naar het pad dat in de container zichtbaar is. Voer één transcodering uit en controleer of de systeemschijf van de host niet langer volloopt.
Vind verouderde sessies en fouten bij het opschonen
Vergelijk tijdelijke sessiemappen met actieve afspeelsessie-ID's en FFmpeg-processen. Bestanden zonder overeenkomende sessie, zonder geopend proces en met een oude wijzigingsdatum komen in aanmerking voor ondersteunde opschoning.
Ga er niet van uit dat een algemene cachereiniging elke transcodeartefact verwijdert. In het eerdere Jellyfin-opruimingsrapport werd vastgesteld dat de normale cach taak het verouderde transcodebestand niet verwijderde. De werkelijke controle is dus of de sessiespecifieke opschoning is voltooid.
Bekijk het serverlogboek rond clientverbindingen die worden verbroken, containerherstarts, crashes, netwerkverlies en gedwongen procesbeëindiging. Los de oorzaak op waardoor de server geen correcte stopgebeurtenis ontvangt, in plaats van alleen te vertrouwen op een dagelijks verwijderingsscript.
Meet de transcodevoetafdruk bij maximale gelijktijdigheid
Voer één representatieve transcodering op afstand uit en meet het aantal tijdelijke bytes per minuut. Herhaal dit met ingebrande ondertiteling, HDR-tonemapping en de hoogst ondersteunde uitvoerbitrate. Vermenigvuldig de uitkomst vervolgens met het beoogde aantal gelijktijdige sessies en de bewaartijd.
Een volle systeemschijf kan meer beïnvloeden dan alleen het afspelen. In een Jellyfin-supportgeval werd opgemerkt dat transcodes die de schijf vulden mogelijk verband hielden met het niet langer verbinden van de webinterface. Dit laat zien dat uitputting van het systeemvolume de beschikbaarheid van de toepassing beïnvloedt.
Reserveer vrije ruimte voor het besturingssysteem, logboeken, databases, pakketupdates en Docker-metagegevens. Het transcodevolume moet onafhankelijk kunnen vollopen zonder te verhinderen dat de server opstart of de mediatoepassing wordt geopend.
Controleer de opschoning en voeg capaciteitswaarschuwingen toe
Test het starten van het afspelen, vooruitspoelen, pauzeren, verbreken van de clientverbinding, herstarten van de server en gelijktijdige sessies. Controleer of actieve bestanden alleen in het speciale transcodepad groeien en na afloop van de sessies weer kleiner worden.
De ZimaSpace-handleiding voor het bouwen van een thuismediaserver biedt een bredere validatieroute voor het scheiden van bronopslag van toepassings- en tijdelijke workloads.
De reparatie is voltooid wanneer verouderde sessies niet langer blijven bestaan, segmentverwijdering werkt voor ondersteunde clients, de systeemschijf een veilige reserve behoudt en waarschuwingen worden geactiveerd voordat het speciale transcodevolume of het rootbestandssysteem de capaciteitsdrempel bereikt.
Ondersteuning & Tips
Meer om te lezen

Waarom herstelt een Docker-volume de bestandsinhoud, maar gaan uitgebreide bestandskenmerken verloren?
Een diagnose van volumeterugzetting met een inventaris van xattrs, tar- en Rsync-opties, naamruimten, ondersteuning voor bestemmingen, machtigingen, labels, app-metagegevens en tests.

Waarom behoudt een actieve container zijn oude geheugenlimiet nadat het Compose-bestand is gewijzigd?
Een diagnose van geheugenlimieten met aandacht voor actieve cgroups, herstarten versus opnieuw aanmaken, Compose-velden, harde en zachte limieten, bovenliggende scopes, swap en runtime-heaps.

Waarom maakt het herstarten van een reverse proxy elke sessie voor één zelfgehoste app ongeldig?
Een diagnose van sessieverlies met aandacht voor de reikwijdte van herstarts, cookie-eigenaarschap, geheimenrotatie, cachegestuurde sessies, sticky routing, authenticatiegateways en herstel.

