Sim, o Plex pode frequentemente partilhar uma GPU com outro contentor Docker, mas expor o mesmo dispositivo a ambos os contentores não reserva nem garante desempenho para nenhuma das cargas de trabalho.
A decisão depende da GPU, do controlador Linux, do runtime de contentores, do tipo de carga de trabalho e da forma como cada aplicação utiliza os motores de vídeo, a computação e a memória. Os gráficos integrados Intel são normalmente expostos através de nós de dispositivos Linux, como /dev/dri, enquanto os contentores NVIDIA utilizam o runtime de contentores NVIDIA ou reservas de GPU do Docker. Configure primeiro o acesso e, em seguida, execute o Plex e a segunda carga de trabalho em conjunto, verificando se o Plex continua a efetuar transcodificação por hardware sob a carga que realmente lhe interessa.
Confirme primeiro que o Plex consegue utilizar a GPU sozinho
Antes de testar a partilha, execute uma transcodificação Plex forçada com a outra carga de trabalho da GPU parada. O Plex deverá indicar aceleração por hardware para a transmissão e o anfitrião deverá apresentar atividade no motor de vídeo ou na GPU esperada. Se o Plex não conseguir utilizar o dispositivo sozinho, adicionar outro contentor apenas tornará o diagnóstico mais confuso.
O guia de transmissão acelerada por hardware do Plex explica que as implementações Docker têm de expor ao contentor o dispositivo de kernel relevante para permitir a aceleração por hardware. Utilize o método atual de acesso ao dispositivo para a sua plataforma, em vez de presumir que uma GPU detetada pelo anfitrião fica automaticamente visível no Plex.
Registe o tempo de início da transcodificação de referência, a utilização do CPU, a utilização da GPU/do motor de vídeo e a estabilidade da reprodução. Isto fornece um resultado de controlo para o teste de partilha. Sem uma referência limpa, não é possível determinar se as falhas posteriores resultam de contenção ou da configuração original da GPU do Plex.
Exponha deliberadamente o mesmo dispositivo ao segundo contentor
No caso da NVIDIA, o Docker Compose pode reservar GPUs por quantidade ou por ID do dispositivo para um serviço. Se dois serviços estiverem configurados para ver a mesma GPU, o runtime pode expor esse dispositivo a ambos; isto é controlo de acesso, não uma garantia de desempenho exclusivo. No caso da Intel ou de outros dispositivos Linux, ambos os contentores podem receber acesso ao mesmo nó de dispositivo relevante quando o controlador permite a utilização simultânea.
A documentação do suporte de GPU no Compose do Docker mostra como os serviços podem solicitar acesso à GPU e selecionar IDs de dispositivos específicos. Utilize um dispositivo específico quando tiver várias GPUs, para que o Plex não mude silenciosamente de dispositivo enquanto testa a partilha.
Verifique as permissões após cada recriação do contentor ou alteração do modelo de aplicação. O facto de um segundo contentor funcionar não prova que o Plex continua a ter acesso ao dispositivo, e uma definição do Plex que indique que a aceleração por hardware está ativada não prova que a transmissão ativa a esteja a utilizar.
Teste ambas as cargas de trabalho em conjunto e observe o primeiro recurso a saturar
Inicie a segunda carga de trabalho a um nível representativo e, em seguida, force a mesma transcodificação Plex utilizada na referência. Compare a estabilidade da reprodução, a velocidade de transcodificação, a memória da GPU, a utilização do motor de vídeo e a utilização alternativa do CPU. Se o Plex mudar de hardware para software ou começar a apresentar buffering apenas quando a outra carga de trabalho está ativa, o resultado é de contenção e não um mistério de compatibilidade.
O guia de verificação prévia de GPU da ZimaSpace recomenda verificar não só a deteção do dispositivo, mas também o acesso do contentor e se o armazenamento, as cópias de segurança e as tarefas multimédia continuam a responder sob a carga combinada. Esse teste de todo o sistema é especialmente importante num NAS, onde o Plex não é o único serviço relevante.
Se as cargas de trabalho utilizarem motores de GPU diferentes, a partilha poderá funcionar bem; se ambas competirem pelos mesmos motores de codificação/descodificação de vídeo, pela memória ou pela margem energética/térmica, o desempenho poderá degradar-se acentuadamente. Não presuma que uma percentagem geral baixa de “GPU” significa que o motor de vídeo específico de que o Plex necessita está disponível.
Defina o limite a partir do qual a partilha deixa de ser uma boa opção
Mantenha a configuração partilhada se o Plex permanecer no modo de hardware, o segundo contentor atingir o objetivo definido e o NAS continuar responsivo sob a carga combinada. Repita o teste depois de reiniciar o Plex e depois de reiniciar o segundo contentor, para garantir que os mapeamentos de dispositivos e as permissões sobrevivem aos eventos normais do ciclo de vida.
Se a contenção for ocasional, agende a carga de trabalho pesada do segundo contentor fora dos períodos de maior utilização de streaming ou adicione limites ao nível da aplicação. Se ambas as cargas de trabalho tiverem de funcionar simultaneamente à sua capacidade máxima e uma estiver constantemente a privar a outra de recursos, dedique um segundo acelerador ou transfira uma das cargas para outro anfitrião, em vez de tentar ajustes frágeis de prioridade.
Avance para a resolução de problemas do controlador ou do runtime quando qualquer um dos contentores perder a GPU mesmo com o outro parado. Um problema de partilha só deverá ser diagnosticado depois de ambas as aplicações conseguirem aceder ao dispositivo de forma independente e a falha surgir especificamente durante a utilização simultânea.
Suporte e Dicas
Mais para Ler

Como saber se um erro do Plex vem do cliente ou do servidor
Reproduza o mesmo item noutro cliente, compare o percurso da sessão e, em seguida, recolha provas do servidor apenas depois de o âmbito lhe...

Como configurar a cache do Plex e o armazenamento temporário de transcodificação
Proteja o estado persistente do Plex enquanto coloca os ficheiros temporários de transcodificação num armazenamento local adequado e, em seguida, verifique a limpeza, o...

Como fazer uma cópia de segurança do Plex sem capturar uma base de dados inconsistente
Utilize a cópia de segurança da base de dados do Plex para o estado essencial ou pare o Plex antes de copiar toda a...

