动态查看显卡的使用情况,可以用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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐