【服務器管理】顯卡根據溫度自動調整風扇速度
我們在日常使用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_public
爲set-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