Tillfälliga omkodningsfiler fyller hela systemdisken: Så stoppar du det

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Stoppa den aktiva transkodningen, kontrollera var tillfälliga segment skrivs och tvinga sedan fram rensning samt flytta sökvägen bort från systemenheten.

En mediaserver kan lagra HLS-segment, ommuxade strömmar, resultat från inbränning av undertexter och ofullständiga sessionsfiler i sin standardcache eller programkatalog, även när källbiblioteket ligger på en stor lagringspool. Systemenheten fylls när filerna inte tas bort tillräckligt snabbt, transkodningskatalogen är felaktigt mappad eller övergivna sessioner finns kvar efter att uppspelningen avslutats. Fastställ den faktiska katalogen och sessionen innan du tar bort filer eller flyttar cachen.

Lokalisera den aktiva transkodningskatalogen och dess största sessioner

Starta en kontrollerad transkodning och se vilken katalog som växer. Dokumentera programinställningen, containerns sökväg, värddatorns bind mount, filsystemet, tillgängligt utrymme, antal filer och de största sessionsunderkatalogerna.

Jellyfin har en separat skrivbar plats för tillfälliga transkodningsfiler, vilket bekräftar att transkodningssökvägen skiljer sig från sökvägen till det permanenta mediebiblioteket och metadata. Den relevanta inställningen är tillfällig transkodningssökväg.

Om programmet visar en sökväg men värddisken fylls någon annanstans, granskar du Dockers faktiska monteringar och skrivbara lager. En saknad bind mount kan göra att containern skriver tillfälliga filer i det systembaserade containerfilsystemet i stället för den avsedda cachevolymen.

Stoppa producenten före akut rensning

Identifiera aktiva uppspelningssessioner och stoppa endast de transkodningar som hör till de snabbt växande filerna. Spara den senaste FFmpeg-loggen, källans titel, klienten, utgående bithastighet, undertexter och starttid innan du frigör utrymme.

Gamla transkodningsfiler har tidigare blivit kvar efter att uppspelningen avslutats och orsakat att disken fyllts tills servern inte längre kunde starta. Ett Jellyfin-ärende dokumenterar en film som fortfarande upptog den tillfälliga transkodningsmappen flera timmar efter att användaren slutat titta.

Ta inte bort filer som tillhör en aktiv session medan FFmpeg fortfarande skriver till dem. Stoppa sessionen eller servern på ett ordnat sätt, bekräfta att filerna inte längre är öppna och ta sedan endast bort bekräftade tillfälliga resultat i stället för att radera hela cachen eller programdatabasen.

Aktivera borttagning av segment för långa strömningssessioner

Kontrollera om servern tar bort nedladdade HLS-segment under uppspelning. Utan segmentborttagning kan en lång film eller liveström kräva tillräckligt med diskutrymme för att behålla hela det genererade resultatet.

Jellyfin beskriver segmentborttagning som att gamla segment tas bort efter att klienten har laddat ner dem, så att servern inte behöver lagra hela den transkodade filen. Alternativet finns specifikt för att förhindra lagring av hela strömmen.

Aktivera det för en testklient och övervaka uppspelning, sökning och återupptagning. Behåll det endast inaktiverat när ett reproducerbart klientproblem kräver att segment sparas, och kompensera med en större dedikerad transkodningsvolym samt striktare sessionsrensning.

Flytta transkodningssökvägen till en dedikerad snabb volym

Välj en dedikerad SSD, NVMe-cache eller ett tillräckligt stort temporärt filsystem som är separat från operativsystemets rotfilsystem. Destinationen måste klara samtidiga skrivningar och ha tillräcklig kapacitet för de värsta förväntade transkodningssessionerna.

Användare som placerat transkodningar på små RAM-diskar har efterfrågat en cachegräns eftersom katalogen kan fortsätta växa tills den tillfälliga enheten är full. Felgränsen är en obegränsad transkodningscache, oavsett om den underliggande enheten är RAM eller SSD.

Stoppa servern, skapa den nya katalogen med korrekt ägarskap för tjänsten, mappa den uttryckligen till containern och uppdatera programinställningen till den sökväg som är synlig i containern. Kör en transkodning och verifiera att värddatorns systemenhet inte längre växer.

Hitta gamla sessioner och rensningsfel

Jämför tillfälliga sessionskataloger med aktiva uppspelningssessioners ID:n och FFmpeg-processer. Filer utan motsvarande session, utan öppen process och med gamla ändringstider är kandidater för rensning enligt de stödda metoderna.

Anta inte att en generell cacherensning tar bort alla transkodningsartefakter. Den tidigare Jellyfin-rapporten visade att den vanliga cacheuppgiften inte tog bort den gamla transkodningsfilen, så den verkliga kontrollen är om sessionsspecifik rensning slutfördes.

Granska serverloggen kring klientfrånkopplingar, omstarter av containrar, krascher, nätverksbortfall och tvingade processavslut. Åtgärda det som hindrar servern från att ta emot en ordnad stoppsignal i stället för att förlita dig på ett dagligt raderingsskript som enda kontroll.

Mät det värsta samtidiga transkodningsutrymmet

Kör en representativ fjärrtranskodning och mät tillfälliga byte per minut. Upprepa med inbränning av undertexter, HDR-tonmappning och den högsta stödda utgående bithastigheten, och multiplicera sedan med det avsedda antalet samtidiga sessioner och lagringstiden.

En full systemenhet kan påverka mediaservern utöver uppspelningen. Ett Jellyfin-supportärende noterade att transkodningar som fyllde disken kunde hänga samman med att webbgränssnittet inte längre anslöt, vilket visar att slut på utrymme på systemvolymen påverkar programtillgängligheten.

Reservera ledigt utrymme för operativsystemet, loggar, databaser, paketuppdateringar och Docker-metadata. Transkodningsvolymen bör kunna bli fullständigt otillgänglig utan att hindra servern från att starta eller medieprogrammet från att öppnas.

Verifiera rensningen och lägg till kapacitetsvarningar

Testa uppspelningsstart, sökning, paus, klientfrånkoppling, serveromstart och samtidiga sessioner. Bekräfta att aktiva filer endast växer i den dedikerade transkodningssökvägen och minskar när sessionerna avslutas.

ZimaSpaces guide om att bygga en hemmamediaserver beskriver den övergripande valideringen för att separera källagring från program- och tillfälliga arbetsbelastningar.

Åtgärden är klar när gamla sessioner inte längre blir kvar, segmentborttagning fungerar för stödda klienter, systemenheten behåller en säker reserv och varningar utlöses innan antingen den dedikerade transkodningsvolymen eller rotfilsystemet når sin kapacitetsgräns.

Support och tips

Mer att läsa

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.