GPU显示有大量显存占用,但是使用nvidia-smi、nvitop等工具都无法找到PID,或者即便显示PID在系统中也搜索不到。
使用fuser可以查看占用某个文件或目录的所有进程,由于linux中硬件也是一种文件,故可以借此查看占用GPU的进程如下:
fuser -v /dev/nvidia*
将找到的进程kill掉就可以释放显存了。
参考资料:
https://stackoverflow.com/questions/59431784/gpu-ram-occupied-but-no-pids/59431785#59431785
https://stackoverflow.com/questions/71433347/no-such-process-consumes-gpu-memory/71433425#71433425