Så förhindrar du att Jellyfin-loggar fyller systemdisken

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.

Jellyfin-loggar ska aldrig tillåtas växa tills de konkurrerar med databasen, cachen eller operativsystemet om de sista lediga gigabyten. Förhindra problemet genom att begränsa både Jellyfins egen loggdetaljeringsgrad och det logglager i containern eller värdsystemet som kan samla in samma händelser igen.

Detta är lättast att missa på en liten systemdisk i en hemmaserver, eftersom två oberoende loggvägar kan växa samtidigt: Jellyfin skriver programloggar, medan Docker, journald eller en annan tjänstehanterare kan behålla stdout och stderr separat. Börja med att identifiera vilken väg som faktiskt förbrukar utrymme, begränsa lagringen på den nivån, verifiera rensning under normal användning och behåll en avisering om ledigt utrymme så att en framtida felsökningssession inte kan fylla disken obemärkt.

Ta reda på vilket logglager som faktiskt växer

Mät innan du raderar något. Jämför storleken på Jellyfins konfigurerade loggkatalog med logglagret för containerns körmiljö eller tjänstehanterare, och notera vilket av dem som ändras när du återskapar en normal biblioteksskanning eller uppspelningssession. Om bara en sökväg växer ska du åtgärda den i stället för att ändra flera rotationsinställningar samtidigt.

Jellyfins felsökningsguide varnar för att felsökningsloggning kan generera mycket stora mängder utdata och är avsedd för korta felsökningsperioder. Den första förebyggande kontrollen är därför om en anpassad logging.json har lämnat detaljerade kategorier aktiverade. Läs vägledningen för felsökningsloggning innan du ändrar lagringsvärden.

Om Jellyfins eget loggkatalog förblir stabil men värdsystemets disk fortsätter att krympa ska du därefter granska körmiljöns loggar. Det resultatet innebär att radering av Jellyfin-loggfiler bara behandlar det synliga symptomet, medan det andra logglagret fortsätter att växa.

Sätt en lagringsgräns på körmiljönivå

För containrar ska du välja en loggdrivrutin och en rotationspolicy med en definierad maxgräns i stället för att förlita dig på obegränsad tillväxt. Tillämpa inställningen på nyskapade containrar och dokumentera den valda maxgränsen så att skyddet inte försvinner vid en framtida ombyggnad av compose-filen.

Docker dokumenterar att den förvalda json-file-loggningen kan förbruka betydande diskutrymme när rotation inte har konfigurerats, medan drivrutinen local roterar loggar som standard. Använd denna information om rotation av containerloggar för att avgöra om du ska begränsa max-size/max-file eller använda den lokala drivrutinen.

Efter att du har ändrat körmiljöns policy ska du återskapa Jellyfin-containern om körmiljön kräver det och bekräfta att den aktiva containern faktiskt använder den nya drivrutinen. En inställning på daemon-nivå som bara gäller nya containrar är inte en lyckad åtgärd förrän Jellyfin-instansen har ärvt den.

Behåll Jellyfins rensning användbar, men se den inte som det enda skyddet

Jellyfin innehåller underhållsåtgärder som rensar loggar, cache, aktivitetsloggar och transkodningsdata, men schemalagd rensning är en andra försvarslinje och inget skäl att lämna loggningen obegränsad. En åtgärd kan misslyckas, fördröjas eller köras först efter att en topp redan har förbrukat det återstående systemutrymmet.

Använd instrumentpanelens aktivitetshistorik för att bekräfta att loggrensningen körs utan fel och jämför sedan loggkatalogens storlek före och efter nästa schemalagda körning. Om katalogen aldrig minskar ska du undersöka åtgärdsfel eller en felaktig sökväg i stället för att blint förkorta intervallet.

Ett användbart mönster för en hemmaserver är att hålla programtillstånd och mediearbetsflöden observerbara utan att låta diagnostikfiler dominera startdisken. Samma resursorienterade angreppssätt är användbart när du felsöker buffring i Jellyfin, eftersom loggar bara hjälper när de pekar på den faktiska flaskhalsen.

-15% OFF
Single board computer zimaboard2

Använd felsökningsloggning som ett tidsbegränsat diagnostikläge

När du behöver felsökningsutdata ska du bestämma starttid, återskapandefönster och stoppvillkor innan du aktiverar den. Fånga den felande åtgärden, spara det relevanta loggutdraget på en säker plats och återställ sedan omedelbart konfigurationen till normal detaljeringsgrad när bevismaterialet har samlats in.

Låt inte felsökningsloggning vara aktiverad i flera dagar bara för att det finns ledigt diskutrymme just nu. En kväll med låg trafik och en biblioteksskanning kan skapa helt olika datamängder, så en inställning som verkar ofarlig under ett test kan bli kostsam under schemalagt arbete.

Efter att du har återgått till normal loggning ska du starta om en gång om konfigurationen kräver det och återskapa normal uppspelning samt en schemalagd åtgärd. Loggarnas tillväxthastighet bör återgå till baslinjen. Om den inte gör det ska du öppna konfigurationen igen och verifiera att den förväntade filen verkligen är den som Jellyfin läste in.

Lägg till ett stoppvillkor för ledigt utrymme innan disken blir kritiskt full

Ställ in en enkel avisering på det filsystem som innehåller Jellyfin-data, körmiljöns loggar eller operativsystemet. Tröskeln bör lämna tillräckligt med utrymme för att undersöka orsaken och stoppa tjänster säkert, i stället för att vänta tills skrivningar börjar misslyckas på hela värdsystemet.

Om det lediga utrymmet minskar oväntat ska du först stoppa den källa som genererar stora mängder loggar, spara ett litet diagnostiskt prov och endast ta bort kända loggar eller cachefiler som kan raderas. Börja inte med att radera Jellyfins databaser, konfiguration eller okänt innehåll i volymer för att återfå utrymme.

Förebyggandet är klart när normal uppspelning, en biblioteksåtgärd och en omstart inte längre leder till obegränsad tillväxt och aviseringen fortfarande ligger på betryggande avstånd från sin utlösningsnivå. Om utrymmet ändå minskar trots begränsad loggning ska du gå vidare med en bredare diskanvändningsgranskning, eftersom orsaken då inte längre med säkerhet är Jellyfin-loggar.

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.