【服务器管理】RTX2080ti显卡根据温度自动调整风扇速度

风格不统一 提交于 2020-01-14 09:19:46


我们在日常使用GPU显卡跑代码过程当中,最苦恼的便是显卡温度过高的问题。因为,显卡温度过高的时候,可能会引发GPU lost等一系列问题。因此,有必要让显卡根据自身速度调整风扇转速。
需要注意的是,本文是针对服务器而写,也就是不带X桌面服务的Ubuntu。
本文测试环境:```Ubuntu18.04···
本文测试显卡:GPU RTX 2080ti

1 未设置自动调整风扇速度时运行nvidia-smi

运行以下终端命令:

nvidia-smi

在这里插入图片描述
此时,GPU Fan这一列显示的百分比就是每张显卡的风扇转速。

2 克隆代码

首先,切换至目录/opt

cd /opt

然后,克隆代码https://link.jianshu.com/?t=https://github.com/boris-dimitrov/set_gpu_fans_public

git clone https://github.com/boris-dimitrov/set_gpu_fans_public.git

修改文件名set_gpu_fans_publicset-gpu-fans,以适应文件cool_gpu代码中的设置,cool_gpu文件中的代码如下:
在这里插入图片描述
第1行指明了dir=/opt/set-gpu-fans,因此,需要把文件名set_gpu_fans_public修改为set-gpu-fans,如下命令:

sudo mv set_gpu_fans_public set-gpu-fans

创建符号链接:

ln -sf ~/set-gpu-fans /opt/set-gpu-fans

3 安装依赖项

sudo apt-get update
sudo apt-get install -y xinit tcsh

安装tcsh命令的原因是因为代码文件nvscmd用的是tcsh,更多关于tcsh命令的知识可以参考tcsh基本命令

4 修改代码文件权限

cd /opt/set-gpu-fans
chmod +x cool_gpu
chmod +x nvscmd

5 每次开机时打开一个终端运行以下代码即可实现自动调整风扇转速

cd /opt/set-gpu-fans
sudo tcsh
./cool_gpu >& controller.log &
tail -f controller.log

6 检验是否成功运行自动调整风扇速度代码

完成步骤5之后,重新打开一个终端窗口,运行以下命令:

nvidia-smi

如果返回以下结果,每张显卡显示有一个8MB的进程运行,说明已经成功运行自动调整风扇速度代码:

Mon Jan 13 14:03:59 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.44       Driver Version: 440.44       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  On   | 00000000:1A:00.0 Off |                  N/A |
| 50%   30C    P8     1W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 208...  On   | 00000000:1B:00.0 Off |                  N/A |
| 50%   31C    P8    21W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  GeForce RTX 208...  On   | 00000000:3D:00.0 Off |                  N/A |
| 50%   28C    P8    21W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  GeForce RTX 208...  On   | 00000000:3E:00.0 Off |                  N/A |
| 50%   30C    P8     4W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   4  GeForce RTX 208...  On   | 00000000:88:00.0 Off |                  N/A |
| 50%   29C    P8    19W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   5  GeForce RTX 208...  On   | 00000000:89:00.0 Off |                  N/A |
| 50%   30C    P8    21W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   6  GeForce RTX 208...  On   | 00000000:B1:00.0 Off |                  N/A |
| 50%   30C    P8     3W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   7  GeForce RTX 208...  On   | 00000000:B2:00.0 Off |                  N/A |
| 50%   31C    P8     2W / 260W |     10MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2900      G   /usr/lib/xorg/Xorg                             8MiB |
|    1      2987      G   /usr/lib/xorg/Xorg                             8MiB |
|    2      3074      G   /usr/lib/xorg/Xorg                             8MiB |
|    3      3195      G   /usr/lib/xorg/Xorg                             8MiB |
|    4      3401      G   /usr/lib/xorg/Xorg                             8MiB |
|    5      3524      G   /usr/lib/xorg/Xorg                             8MiB |
|    6      3650      G   /usr/lib/xorg/Xorg                             8MiB |
|    7      3790      G   /usr/lib/xorg/Xorg                             8MiB |
+-----------------------------------------------------------------------------+

【作者简介】陈艺荣,男,目前在华南理工大学电子与信息学院广东省人体数据科学工程技术研究中心攻读博士,担任IEEE Access、IEEE Photonics Journal的审稿人。两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,主持一项2017-2019年国家级大学生创新训练项目获得优秀结题,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目获得良好结题,发表SCI论文3篇,授权实用新型专利8项,受理发明专利13项。
我的主页
我的Github
我的CSDN博客
我的Linkedin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!