ubuntu下实时查看GPU使用情况的两种方式(nvidia |
您所在的位置:网站首页 › 显卡运行速度 › ubuntu下实时查看GPU使用情况的两种方式(nvidia |
要查看gpu占用,这里介绍两个方法,一个是官方的nvidia-smi,装完显卡驱动就能使用了;另一个是gpustat,更方便于查看gpu使用情况。 1 nvidia-smi 在终端输入命令nvidia-smi,可以查看显卡使用情况: 这样系统就会每隔5秒刷新一次使用情况。这里的5可以依据需要进行修改。 如上图所示,在下面的虚线框里显示了占用GPU的进程信息。每个进程有一个唯一的PID,如果想关闭掉某个进程,可以使用命令: sudo kill -9 PID 比如我这里要结束掉占用GPU内存最大的PID为12713的进程,则执行命令sudo kill -9 12713,然后再查看GPU使用情况,如下图所示: 详情及历史版本可以查看github链接,安装方式有如下三种: pip install gpustat pip install --user gpustat pip install git+https://github.com/wookayin/gpustat.git@master 可以都尝试一下,哪个能成功安装就行。我是用第二个命令安装成功的,第一个和第三个都不行。但是安装完成后提示我没有添加环境变量,如下图所示: 3 两种方式对比 nvidia-smi: 显式内容更全面,包括PID(可用于结束进程)使用格网线,更美观gpustat: 可以清楚看到哪些人哪些任务占用了多少显存(在多人使用同一服务器的情况下很实用)内容精炼,但是看不到PID总结就是两种方法各有优劣,在服务器下两者搭配使用效果更佳! 4 完整查看所有进程PID方法 如上所述,如果你需要终止某个进程,你需要首先获知它的PID,而nvidia-smi方法才能看到PID。但是,这种方式通常只能看到有限数量的PID(通常是8个),多余的你就看不到了,如下图所示: 显示如下: 如上所述,如果我同时在后台跑了很多个任务,我现在想将它们全部kill掉。如果通过PID一个个kill,那感觉有点麻烦。要批量kill的话,可以自己写一个脚本,然后将目标PID的进程给kill了。还一种方法是,直接将这个用户的所有进程给kill掉(注意,是该用户运行在GPU上的所有进程,所以如果并不是想全部清空,就不要用这个方法)。 比如我要kill掉名为xiaoming的用户的所有显存占用,有两种命令,效果是一样的,如下: pkill -u xiaoming killall -u xiaoming |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |