刚配置了多GPU用于深度学习,但是组装之后跑了一遍,发现多GPU发热特别厉害,由于机子是4个GPU堆叠在一起,所以基本上散热效果很差,如果只用其中一个GPU来跑,稳定运行后,这个GPU的温度会上升到85度左右,其他相邻的GPU温度也会上升到60-70多度,更别说4个GPU同时跑起来,估计整体温度会上升到90多度,而且性能也会极大下降,简直伤不起啊。
后来发现深度学习训练时GPU温度过高?几个命令,为你的GPU迅速降温这篇文章,尝试了一下,文章中的方法仅仅可以用于单个GPU的风扇速度调节,对于多个GPU的风扇速度还是调节不了,我尝试了很多次后,终于搞定了多GPU的风扇速度调节方法。
我的系统是Ubuntu 1604, GPU是4块 RTX 2080 Ti,带有显示器(X server)。
1. 单个GPU的风扇速度调节
简单记录一下步骤:
- cd /etc/X11 下,看看有没有xorg.conf文件,如果没有,新建一个,方法:
sudo nvidia-xconfig --cool-bits=4
- 如果/etc/X11下有了xorg.conf文件,使用sudo nano xorg.conf打开编辑。查看Section "Device"下是否有
Option "Coolbits" "4"
这一句话,如果没有添加上去,
如果使用sudo nvidia-xconfig --cool-bits=4新建了xorg.conf,这个Option Coolbits就已经存在了。
-
重启电脑sudo reboot
-
设置GPU0这一个GPU的风扇转速,此处设为90%:
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=90"
也可以通过nvidia-settings 打开控制面板,手动滑动调节块来设置转速,如下。

2. 多个GPU的风扇速度调节
这部分我尝试了好多方法,走了好多弯路,后来发现设置起来超级简单,步骤为:
- cd /etc/X11 下,看看有没有xorg.conf文件,如果没有,新建一个,方法:
sudo nvidia-xconfig
如果已经有这个文件,则直接往下。
- 设置为多GPU模式,执行如下命令
sudo nvidia-xconfig --enable-all-gpus
- 设置多GPU模式下每个GPU的风扇转速可以调节:
sudo nvidia-xconfig --cool-bits=4
-
重启电脑sudo reboot
-
查看nvidia控制面板是否有转速的手动滑动调节块,输入:nvidia-settings命令,出现下图,分别点击GPU-1, GPU-2,GPU-3,会出现Fan 0 Speed调节滑块,可以手动来调节转速。
多GPU运行时降温方法.png
-
可以打开这个控制面板手动滑动来调节Fan Speed,当然也可以用命令:
nvidia-settings -a "[gpu:0]/GPUFanControlState=1"
nvidia-settings -a "[gpu:1]/GPUFanControlState=1"
nvidia-settings -a "[gpu:2]/GPUFanControlState=1"
nvidia-settings -a "[gpu:3]/GPUFanControlState=1"
nvidia-settings -a "[fan:0]/GPUCurrentFanSpeed=80"
nvidia-settings -a "[fan:1]/GPUCurrentFanSpeed=85"
nvidia-settings -a "[fan:2]/GPUCurrentFanSpeed=86"
nvidia-settings -a "[fan:3]/GPUCurrentFanSpeed=90"
此处将GPU0的转速设置为80%,GPU1: 85%,等等。
-
查看设置结果:使用nvidia-smi查看结果为:
多GPU运行时降温方法
网友评论