前言
今天开开心心跑着批量的训练任务,一看日志,OOM报错了,超出显存,查看显卡信息,发现存在高占用,但是我们怎么知道它的始作俑者是谁呢?今天我们来一起看一下
0帧起手:nvidia-smi
nvidia-smi
通过nvidia-smi我们可以知道哪些进程在服务上,我们需要关注的就是这里的PID和GPU的占用,可以看到PID为669261的这个进程占用高达36850M(36GB显存)

找到用户
ps -fp 669261
我们通过 ps -fp指令锁头,可以看到cqwu用户启动的python 2.py的指令产生的占用

好的,看上去我们找到了凶手cqwu!,但是可惜,因为糟糕的服务器用户管理,这个服务器上,所有人都使用的同一个用户cqwu,有些同学到这里就放弃了,不要放弃,要有打破砂锅问到底的精神
查看它的工作目录
没错,在一切皆文件的linux系统里,通过下面的指令就可以定位到这个进程的工作目录:
sudo ls -l /proc/669261/cwd

那显然这个,LYT同学就是我们要找的“凶手”了
偷看他在干什么
因为他的服务产生了长时间显存占用,但是GPU计算占用又很低,让我们来看看他在干什么。如前面所述,我们拿到了他的工作目录,有他的cmd启动指令,我们完全可以进入他的目录查看他的代码,这是一方面,另一方面,我们可以通过下面的指令 监听他的日志:
sudo strace -p 669261 -e write -s 200
经过我观察,他的这个训练任务,大概3-4小时完成一轮训练,10000个epoch,

10000*3/24/365=3.4年

嗯 ,希望这个同学能顺利毕业吧

2250

被折叠的 条评论
为什么被折叠?



