Um processo extinto ainda aloca recursos no sistema?

Um processo extinto ainda aloca recursos no sistema?

Tenho uma máquina de produção (Ubuntu 18.04) que executa processos em GPU usando Nvidia. Um determinado processo alocou memória e agora está extinto, deixando as GPUs basicamente inutilizáveis.

ps -o ppid = -p

Retorna um, o que significa que PID=1 é o pai do meu processo extinto, então não posso eliminá-lo.

nvidia-smi revela que este processo possui muita memória alocada nas GPUs. Então eu acho que posso usar

nvidia-smi --gpu-reset

para liberar os recursos. O processo filho vai gerar algum problema? Consegue "ver" que os recursos que atribuiu já não estão disponíveis?

Em essência: isso é perigoso de alguma forma?

Responder1

Usar nvidia-smi --gpu-reset redefinirá a GPU e liberará quaisquer recursos alocados, incluindo memória, mantidos pelo processo extinto. No entanto, este comando só pode ser usado quando a GPU está ociosa, o que significa que nenhum outro processo ativo está usando a GPU.

Se sua GPU estiver sendo usada por outros processos ativos, o comando --gpu-reset poderá falhar ou causar efeitos colaterais não intencionais, como encerrar esses processos ou causar mau funcionamento devido à perda repentina de recursos da GPU.

Como o pai do processo extinto é PID=1, é improvável que ele gere mais problemas. Ao redefinir a GPU, os recursos alocados serão liberados e o processo extinto não poderá vê-los ou usá-los.

Geralmente é seguro usar nvidia-smi --gpu-reset desde que não haja outros processos usando ativamente a GPU. Se houver outros processos usando a GPU, você deve tentar interrompê-los normalmente antes de redefinir a GPU. Além disso, é uma boa ideia monitorar seu sistema após redefinir a GPU para garantir que não surjam problemas inesperados.

É bastante comum que você precise reiniciar a máquina se ela travar, pois provavelmente o módulo do kernel trava e não responde nem mesmo ao matar processos que estão usando GPU

informação relacionada