Plex gebruikt meer GPU-geheugen bij gelijktijdige sessies met verschillende clients wanneer gelijktijdige sessies verschillende werksets voor decodering, transformatie en codering permanent in het geheugen moeten houden.
Het belangrijkste variabele is niet simpelweg het aantal kijkers. Een 1080p H.264-conversie, een 4K HEVC HDR-conversie en een Direct Play-sessie kunnen tegelijkertijd heel verschillende GPU-paden gebruiken. Een zinvolle diagnose bestaat uit het scheiden van videogeheugendruk van encoderdoorvoer, CPU-fallback en opslag- of netwerkbeperkingen voordat VRAM als de bottleneck wordt beschouwd.
Verschillende clients creëren verschillende GPU-werksets
Een gemengde clientvloot verandert wat Plex voor elke actieve sessie gereed moet houden. De ene televisie kan de oorspronkelijke HEVC-video afspelen, terwijl een andere browser H.264-uitvoer nodig heeft en een telefoon via een beperkte externe verbinding mogelijk een lagere resolutie aanvraagt. De sessies verbruiken GPU-resources daardoor niet als identieke kopieën van dezelfde werklast.
Wanneer videoconversie vereist is, heeft Plex codec-specifieke ondersteuning voor decodering en codering nodig, evenals buffers voor tussenliggende frames. Het exacte hardwarematige video-decoderings- en coderingspad verandert afhankelijk van de combinatie van bron en uitvoer. Daarom kunnen twee sessies met dezelfde nominale resolutie toch verschillende geheugeneisen veroorzaken.
Direct Play is het nuttige controlegeval, omdat de server de video daarbij niet hoeft te decoderen en opnieuw te coderen. Als het GPU-geheugen alleen toeneemt wanneer één client van Direct Play overschakelt naar een hardwarematige transcode, hoort de extra allocatie bij het conversiepad en niet bij gelijktijdigheid op zichzelf.
Resolutie en codec veranderen de grootte van beeldoppervlakken
Videogeheugen wordt voor meer gebruikt dan alleen het gecomprimeerde bestand dat uit de opslag komt. Hardwaredecoders en -encoders werken met gedecodeerde beeldoppervlakken, referentieframes en tussenliggende uitvoerbuffers. De grootte daarvan verandert afhankelijk van resolutie, bitdiepte, chroma-indeling en codecgedrag. Een 4K-frame vereist daarom een grotere werkset dan een 1080p-frame, nog voordat gelijktijdigheid wordt meegerekend.
4K HEVC kan meer VRAM nodig hebben dan AVC op 1080p bij bepaalde Plex HDR-werklasten. Beschouw dit als een aanwijzing voor de werklast en niet als een vaste formule per stream, omdat driverversies, tone-mappingpaden, GPU-architectuur en Plex-releases de exacte allocatie kunnen veranderen.
De diagnostische conclusie is eenvoudig: vergelijk hetzelfde aantal sessies en verander alleen de bronklasse. Als twee 1080p-conversies zonder problemen passen, maar het vervangen van één daarvan door 4K HEVC het geheugengebruik sterk verhoogt, maken resolutie- en codecoppervlakken deel uit van de oorzaak.
Tone mapping en transformatiestappen voegen een extra geheugenlaag toe
Een conversie kan uit meer bestaan dan het decoderen van het ene formaat en het coderen naar een ander formaat. Schalen, kleurconversie, HDR-naar-SDR-tone mapping en het samenvoegen van ondertitels kunnen tussenliggende oppervlakken introduceren die gelijktijdig met de decoder- en encoderbuffers actief zijn. Deze stappen zijn vooral belangrijk wanneer verschillende clients verschillende uitvoer vereisen uit dezelfde bibliotheek.
In een container moeten de renderapparaatknooppunten die voor hardwarematige videobewerking worden gebruikt, voor Plex toegankelijk zijn voordat metingen van het GPU-geheugen betekenisvol zijn. Als dat niet het geval is, kan CPU-fallback het VRAM-gebruik laag doen lijken terwijl het zware werk elders wordt uitgevoerd.
Beschouw een lage VRAM-meting in combinatie met hoog CPU-gebruik eerst als een probleem met padverificatie voordat je concludeert dat de GPU onderbenut is. Dezelfde regel werkt omgekeerd: hoog GPU-geheugengebruik met een gezonde transcodesnelheid kan normale residentie zijn en geen capaciteitsprobleem.
Gelijktijdigheid is belangrijk wanneer die werksets overlappen
Elke hardwarematig getranscodeerde sessie houdt zijn eigen actieve decoderings- en coderingsstatus bij zolang het afspelen doorgaat. Bij verschillende clients kunnen die statussen van elkaar verschillen en tegelijkertijd actief blijven, waardoor het totale GPU-geheugen sneller kan toenemen dan een eenvoudige telling van kijkers doet vermoeden. De overlap wordt belangrijker wanneer meerdere gebruikers binnen een korte periode zoeken, starten of de kwaliteit wijzigen.
In een gemeten opstelling met een GTX 1660 Ti gebruikte één 4K-transcode ongeveer 600 MB GPU-geheugen. Dat is een afgebakend voorbeeld van meetbare residentie en geen aanbevolen VRAM-capaciteit voor elke 4K-stream.
Gebruik de drukste geloofwaardige combinatie in plaats van identieke testbestanden in een lus te starten. De werklast moet de codecs, HDR-statussen, uitvoerkwaliteiten en clients bevatten die het huishouden daadwerkelijk gebruikt, omdat gelijktijdigheid met verschillende clients precies de situatie is waarin schattingen op basis van identieke streams weinig betrouwbaar zijn.
Scheid geheugendruk van andere GPU-beperkingen
VRAM kan vol zijn terwijl de encoder nog voldoende doorvoer heeft, of er kan veel VRAM beschikbaar blijven terwijl een codecstap, sessielimiet, driverpad of CPU-only bewerking achterloopt. Quick Sync kan meerdere transcodes verwerken bij geschikte werklasten, maar dat maakt geheugencapaciteit niet tot de enige limiet voor gelijktijdigheid.
Houd GPU-geheugen, videomotorbelasting, transcodesnelheid, CPU-belasting en het afspelen gezamenlijk in de gaten. Geheugendruk wordt aannemelijk wanneer nieuwe of zwaardere sessies mislukken naarmate de allocatie de apparaatlimiet nadert, terwijl de rest van het pad gezond blijft. Hoge belasting zonder dat patroon wijst op iets anders.
Gebruik voor het omliggende serverpad een beproefd 4K Plex-serverpad als basis voor codecondersteuning, opslaglevering en hardwareversnelling. GPU-geheugen is één onderdeel van die keten en geen zelfstandige specificatie voor het aantal streams.
Tech & AI HUB
Meer om te lezen

Wat is de Plex-status en welke onderdelen moeten behouden blijven?
Persistente Plex-statusinformatie is de informatie die de serverervaring na een herstart en opnieuw opbouwen behoudt; media- en tijdelijke transcodegegevens hebben afzonderlijke functies.

Hoe regelt Plex de authenticatie voor lokale en externe sessies?
Plex-authenticatie begint met de identiteit van de server en het account. Vervolgens bepalen lokale of externe netwerkpaden de bereikbaarheid en het gedrag van beveiligde...

Waarom kan het zoeken in Plex trager worden naarmate de bibliotheekgegevens toenemen?
Alleen de groei van de bibliotheek is niet de diagnose. Controleer de querystructuur, indexen, cachestatus, opslaglatentie en schrijfactiviteit voordat je de omvang van de...

