Plex utilizza più memoria GPU in condizioni di concorrenza tra client diversi quando le sessioni simultanee richiedono che siano mantenuti residenti set di lavoro differenti per decodifica, trasformazione e codifica.
La variabile importante non è semplicemente il numero di spettatori. Una conversione H.264 a 1080p, una conversione HEVC HDR a 4K e una sessione Direct Play possono utilizzare contemporaneamente percorsi GPU molto diversi. Prima di considerare la VRAM il collo di bottiglia, è utile distinguere la pressione sulla memoria video dalla velocità di codifica, dal fallback sulla CPU e dai limiti di archiviazione o rete.
I client diversi creano set di lavoro GPU differenti
Un insieme eterogeneo di client modifica ciò che Plex deve mantenere pronto per ogni sessione attiva. Un televisore può accettare il video HEVC originale, un altro browser può richiedere un’uscita H.264 e un telefono su una connessione remota limitata può richiedere una risoluzione inferiore. Le sessioni, quindi, non consumano le risorse GPU come copie identiche dello stesso carico di lavoro.
Quando è necessaria la conversione video, Plex richiede il supporto specifico del codec per la decodifica e la codifica, oltre ai buffer per i fotogrammi intermedi. Il percorso hardware di decodifica e codifica video esatto cambia in base alla combinazione di sorgente e uscita; per questo due sessioni alla stessa risoluzione nominale possono creare footprint di memoria differenti.
Direct Play è il caso di controllo utile, perché non richiede al server di decodificare e ricodificare il video. Se la memoria GPU aumenta solo quando un client passa da Direct Play a una transcodifica hardware, l’allocazione aggiuntiva appartiene al percorso di conversione, non alla concorrenza in sé.
Risoluzione e codec modificano le dimensioni delle superfici dei fotogrammi
La memoria video viene utilizzata per qualcosa di più del file compresso in arrivo dall’archiviazione. Decoder ed encoder hardware lavorano con superfici delle immagini decodificate, fotogrammi di riferimento e buffer di uscita intermedi, le cui dimensioni cambiano in base a risoluzione, profondità di bit, formato della crominanza e comportamento del codec. Prima ancora di considerare la concorrenza, un fotogramma 4K richiede quindi un set di lavoro più grande rispetto a un fotogramma 1080p.
Il formato HEVC 4K può richiedere più VRAM rispetto ad AVC a 1080p in alcuni carichi di lavoro Plex HDR. Consideralo un indizio sul carico di lavoro, non una formula fissa per ogni stream, perché versioni dei driver, percorsi di tone mapping, architettura della GPU e versioni di Plex possono modificare l’allocazione esatta.
La conseguenza diagnostica è semplice: confronta lo stesso numero di sessioni cambiando solo la classe della sorgente. Se due conversioni a 1080p rientrano comodamente nei limiti, ma sostituendone una con HEVC 4K la memoria aumenta molto, le superfici legate a risoluzione e codec fanno parte della causa.
Il tone mapping e le fasi di trasformazione aggiungono un ulteriore livello di memoria
Una conversione può includere più della semplice decodifica di un formato e codifica di un altro. Ridimensionamento, conversione del colore, tone mapping da HDR a SDR e composizione dei sottotitoli possono introdurre superfici intermedie che rimangono attive insieme ai buffer del decoder e dell’encoder. Queste fasi sono particolarmente importanti quando client diversi richiedono uscite differenti dalla stessa libreria.
In un container, i nodi dei dispositivi di rendering utilizzati per il lavoro video hardware devono essere accessibili a Plex prima che le letture della memoria GPU risultino significative. In caso contrario, il fallback sulla CPU può far sembrare bassa la VRAM mentre il lavoro più oneroso è stato spostato altrove.
Considera una lettura bassa della VRAM accompagnata da un utilizzo elevato della CPU come un problema di verifica del percorso, prima di concludere che la GPU sia sottoutilizzata. La stessa regola vale al contrario: una memoria GPU elevata con una velocità di transcodifica regolare può indicare una normale permanenza dei dati, non un problema di capacità.
La concorrenza conta quando questi set di lavoro si sovrappongono
Ogni sessione transcodificata tramite hardware mantiene il proprio stato attivo di decodifica e codifica durante la riproduzione. Con client diversi, questi stati possono essere differenti e rimanere attivi contemporaneamente; di conseguenza, la memoria GPU totale può aumentare più rapidamente di quanto suggerisca un semplice conteggio degli spettatori. La sovrapposizione diventa più importante quando diversi utenti cercano, avviano la riproduzione o modificano la qualità nell’arco dello stesso breve intervallo.
In una configurazione GTX 1660 Ti misurata, una singola transcodifica 4K utilizzava circa 600 MB di memoria GPU. Si tratta di un esempio circoscritto di permanenza misurabile, non della quantità di VRAM consigliata per ogni stream 4K.
Utilizza la combinazione realistica più impegnativa, invece di avviare in sequenza file di test identici. Il carico di lavoro dovrebbe includere i codec, gli stati HDR, le qualità di uscita e i client effettivamente utilizzati in casa, perché la concorrenza tra client diversi è proprio la condizione che rende poco affidabili le stime basate su stream identici.
Separa la pressione sulla memoria dagli altri limiti della GPU
La VRAM può essere piena mentre l’encoder dispone ancora di capacità di elaborazione, oppure può rimanere molta VRAM libera mentre una fase del codec, un limite di sessione, un percorso del driver o un’operazione eseguita solo sulla CPU rallenta. Quick Sync può gestire più transcodifiche in carichi di lavoro adeguati, ma questo non fa della capacità di memoria l’unico limite alla concorrenza.
Osserva insieme memoria GPU, utilizzo del motore video, velocità di transcodifica, utilizzo della CPU e riproduzione. La pressione sulla memoria diventa plausibile quando le sessioni nuove o più pesanti falliscono mentre l’allocazione si avvicina al limite del dispositivo, con il resto del percorso in condizioni normali; un utilizzo elevato senza questo schema indica un problema altrove.
Per il percorso del server nel suo complesso, utilizza un percorso server Plex 4K collaudato come riferimento per il supporto dei codec, la fornitura dei dati dall’archiviazione e l’accelerazione hardware. La memoria GPU è uno degli elementi di questo sistema, non una specifica autonoma del numero di stream.
Hub Tecnologico e AI
Altro da leggere

Che cos’è lo stato di Plex e quali parti devono essere persistenti?
Lo stato persistente di Plex è l’insieme di informazioni che conserva l’esperienza del server tra un riavvio e una ricostruzione; i contenuti multimediali e...

In che modo Plex gestisce l’autenticazione nelle sessioni locali e remote?
L’autenticazione Plex inizia con l’identità del server e dell’account; quindi i percorsi di rete locali o remoti determinano la raggiungibilità e il comportamento della...

Perché la ricerca in Plex può rallentare man mano che aumentano i dati della libreria?
La crescita della libreria, da sola, non è la diagnosi. Verifica la struttura delle query, gli indici, lo stato della cache, la latenza dello...

