Welke geheugenlimiet moet je instellen voor Jellyfin?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Kies geen universele geheugenlimiet voor Jellyfin; begin met een gemeten werklast, reserveer geheugen voor de host en naastgelegen containers, en stel pas een harde limiet in nadat je echte pieken hebt waargenomen.

Groeit je container door totdat de host begint te swappen, of veroorzaakt een lage limiet herhaalde OOM-beëindigingen? Meet het inactieve verbruik, bibliothe scans, metagegevensverwerking, gelijktijdige transcoderingen en het geheugen dat beschikbaar is voor Docker of de virtuele machine voordat je de limiet wijzigt. Een limiet is alleen veilig wanneer de oorspronkelijke werklast nog steeds wordt voltooid en de host voldoende herstelmarge behoudt.

Scheid normale cachegroei van druk op resident geheugen

Vergelijk eerst het RSS-geheugen, de cache, swap en het vrije geheugen van de host tijdens inactiviteit en tijdens de drukste herhaalbare taak. Bestandssysteemcache kan groot lijken zonder dat er sprake is van een lek, terwijl groei van resident geheugen in combinatie met OOM-gebeurtenissen op een echte beperking wijst.

Een eenvoudige Docker Jellyfin-implementatie begint vaak met enkele gigabytes en heeft meer nodig voor transcodering, maar de juiste waarde hangt af van de werklast (werklastgebaseerde geheugenbasislijn).

Blijft RSS stabiel terwijl de cache groeit en heeft de host geheugen dat kan worden vrijgemaakt, houd dit dan in de gaten in plaats van de limiet strenger te maken. Als RSS stijgt in combinatie met swap- of OOM-killmeldingen, ga dan verder met de transcodeer- en bibliotheektests.

Test de limiet onder de trigger die de fout veroorzaakt

Voer één bibliotheekscan, één representatieve transcodering en het verwachte aantal gelijktijdige streams uit terwijl je het geheugengebruik van cgroups, geheugen­gebeurtenissen, swap en de belasting van de host registreert. Wijzig tussen de runs alleen de geheugenlimiet.

Een limiet die probleemloos afspelen in rust doorstaat maar faalt tijdens ondertiteling, HDR-conversie of indexering, is geen geldige productie-instelling. Noteer welke trigger de fout veroorzaakte, zodat je de limiet niet verhoogt voor een knelpunt dat daar geen verband mee houdt.

Als de container wordt beëindigd, verhoog de limiet dan pas nadat je onnodige transcodeercache hebt verminderd of zware taken hebt gescheiden. Als de host zelf begint te swappen, verlaag dan de gelijktijdigheid of verplaats een rol; al het resterende RAM aan Jellyfin geven verplaatst de fout alleen naar een andere service.

Stel een stopgrens in en controleer of die behouden blijft

Houd een zachte waarschuwing onder de harde limiet en laat voldoende geheugen over voor de host, opslagservices en een schone herstart. Een harde limiet moet de host beschermen, niet een proces zonder bovengrens of een te kleine machine verhullen.

Stop en maak de container één keer opnieuw aan nadat je de limiet hebt gewijzigd, en herhaal daarna de oorspronkelijke scan en afspeeltrigger. Controleer of de geconfigureerde limiet na het opnieuw aanmaken nog steeds actief is en of de database beschrijfbaar blijft.

Stop met bijstellen en schaal op wanneer OOM-gebeurtenissen blijven optreden bij een limiet die geen marge voor de host overlaat, de database beschadigd raakt of het proces groeit zonder reproduceerbare werklast. Bewaar de logboeken en de laatst bekende goed werkende configuratie voordat je een grotere wijziging doorvoert.

Controleer piekafspelen opnieuw na een koude herstart

Start de host opnieuw op, wacht tot opslagkoppelingen en naastgelegen containers beschikbaar zijn en reproduceer dezelfde mix van streams voor meerdere gebruikers die de limiet oorspronkelijk aan het licht bracht. Valideer niet alleen met een inactief dashboard of één Direct Play-sessie.

Herstel is aangetoond wanneer het afspelen stabiel blijft, er geen swapstorm optreedt, de container onder zijn limiet blijft en een nieuwe back-up of herstart zonder geheugengerelateerde fouten wordt voltooid. Vergelijk het resultaat met de basislijn die je vóór het bijstellen hebt vastgelegd.

Behoud de instelling wanneer de piekbelasting slaagt met meetbare marge voor de host. Als het alleen faalt nadat een andere container is gestart, verdeel dan het resourcebudget of plan de concurrerende taak opnieuw in plaats van de Jellyfin-limiet weer te verhogen.

Ondersteuning & Tips

Meer om te lezen

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.