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, geheugengebeurtenissen, 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

Jellyfin-databaseverbindingen optimaliseren voor gelijktijdige containers
Begin met één database-eigenaar en meet het vergrendelingsgedrag van SQLite; voeg pas een andere backend toe wanneer gelijktijdigheid en herstel die complexiteit rechtvaardigen.

Dubbele taken of imports in Jellyfin voorkomen
Dubbel werk ontstaat meestal door overlappende planners of meer dan één schrijver; wijs één verantwoordelijke, één pad en één voltooiingscontrole aan.

Jellyfin repareren nadat het databasevolume vol is geraakt
Stop met schrijven, behoud de database- en WAL-bestanden, maak ruimte vrij zonder de status blindelings te verwijderen en controleer vervolgens de integriteit en de...

