动态查看显卡的使用情况,可以用watch指令实现:
watch -n 10 nvidia-smi
watch -n 0.1 nvidia-smi
#命令行参数-n后边跟的是执行命令的周期,以s为单位。

查看当前系统中GPU占用的线程:

fuser -v /dev/nvidia*

(base) [root@iz2zebztoqwc0jz6ad1ptjz ~]# fuser -v /dev/nvidia*
                     USER        PID ACCESS COMMAND
/dev/nvidia0:        root      15072 F...m python3
                     root      23533 F...m python
/dev/nvidiactl:      root      15072 F...m python3
                     root      23533 F...m python
/dev/nvidia-uvm:     root      15072 F...m python3
                     root      23533 F...m python

使用kill -9 pid释放显存

Volatile GPU-Util:指的利用率而不是使用率
#如果一直为0有可能是GPU默认打开了ECC(error correcting code, 错误检查和纠正),会占用显存和降低显卡性能,打开Persistence Mode Enabled:用root执行nvidia-smi -pm 1
如果一直是100%,极有可能是中病毒了,查询所有信息 nvidia-smi -q,根据Used GPU Memory 找到占用最大最可疑的进程PID,然后ls -l /proc/pid,看看是否有守护进程,如果有先删掉守护进程再kill -9 PID

Memory-Usage:gpu占用率,但是gpu占用高,不表示利用率高, 需要从代码层面调整GPU的利用率

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐