ubuntu16.04 Nvidia 显卡的风扇调速及startx的后果

问题描述


 
  1. #查看nvdia GPU 显卡状态

  2. watch -n 10 nvidia-smi

  • 1
  • 2

这里写图片描述

发现显卡Tesla k40c的温度已经达到74°,转速仅仅只有49%。 
查看Tesla产品资料,Tesla K40 工作站加速卡规格 ,可知

这里写图片描述

所以需要调整风扇速度来降温。

然而官方驱动面板里也没有了风扇调速的选项

nvidia-settings
  • 1

这里写图片描述


方法一


 
  1. sudo su -

  2. cd /etc/X11

  3. cp -p xorg.conf xorg.conf.`date +%Y%m%d`

  4. sudo gedit xorg.conf

  • 1
  • 2
  • 3
  • 4

找到”Section Device” 这块 
添加: Option “Coolbits” “4”

 
  1. Section "Device"

  2.  
  3. Identifier "Device0"

  4. Driver "nvidia"

  5. VendorName "NVIDIA Corporation"

  6. BoardName "GeForce GT8800"

  7. Option "Coolbits" "4"

  8. EndSection

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

保存之后,重启机器。调节选项出现,如下图:

这里写图片描述

这时你会看到在Thermal Settings里面有一个 Enable GPU Fan Settings,可手动调节显卡温度。


方法二


有时会出现以下问题

cannot stat /etc/x11/xorg.conf no such file or directory
  • 1

这时需要

 
  1. sudo nvidia-xconfig

  2. sudo nvidia-xconfig --cool-bits=4

  • 1
  • 2

Using X configuration file: “/etc/X11/xorg.conf”. 
Backed up file ‘/etc/X11/xorg.conf’ as ‘/etc/X11/xorg.conf.backup’ 
New X configuration file written to ‘/etc/X11/xorg.conf’

如若没有变化,则需要

sudo  gedit /etc/X11/xorg.conf
  • 1

添加  Option “Coolbits” “4”  如下

 
  1. Section "Device"

  2. Identifier "Device0"

  3. Driver "nvidia"

  4. VendorName "NVIDIA Corporation"

  5. BoardName "GeForce GTX 570"

  6. Option "NoLogo" "True"

  7. Option "Coolbits" "4"

  8. EndSection

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

然后重启

nvidia-settings #可查看调节选项
  • 1

或者

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=100"
  • 1

这里GPUTargetFanSpeed=100就是风扇的速度, 100就是风扇运行在100%的速度, 也可以改成其它速度. 注意在新的NVIDIA驱动, GPUCurrentFanSpeed 被改成了 GPUTargetFanSpeed. 另外GPUFanControlState=1表示让用户可以手动调节GPU风扇速度.

如果你想回到GPU自动控制风扇速度, 运行下面

nvidia-settings -a "[gpu:0]/GPUFanControlState=0"
  • 1

备注:

cannot stat /etc/x11/xorg.conf no such file or directory
  • 1

切记输入

startx 
  • 1

来重新安装xorg,这样会带来更大的麻烦。重启后再输入密码,然后又进入一个登陆界面,输入密码,然后又回到原来的登陆界面。。。这样一直下去,死循环了

解决方法

 
  1. Alt+Ctrl+F1 #进入控制台界面

  2. cd ~ #进入你的用户目录

  3. ls -ah #查看所有的文件

  4. rm -rf .Xauth* #删除.Xauthority文件

  5. Alt+Ctrl+F7 #返回到登陆界面

  6. #输入密码即可登入

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

startx命令是用来启动X windows服务器的,运行后在用户目录下生成一个.Xauthority文件,正是该文件导致系统进入死循环,删除即可。


方法三


sudo apt-get install nvclock
  • 1
 
  1. #change GPU fan speed, write this:

  2.  
  3. nvclock -f -F 70

  • 1
  • 2
  • 3

这样风扇速度就会维持 fan speed will run at 70%

若无法安装 nvclock,则需要更新源包

sudo gedit /etc/apt/sources.list
  • 1

添加源包

deb http://us.archive.ubuntu.com/ubuntu trusty main universe
  • 1

更新源包

sudo apt-get update
  • 1
sudo apt-get nvclock
  • 1

设置多显卡降温


nvidia-xconfig --enable-all-gpus
  • 1

其余步骤同单显卡一致。


备注:

Tesla的显卡K40开始k系列M系列p 系列都是被动散热对硬件要求高。所以无法使用上述方法对风扇调速。

Tesla C卡主要用在“台式机”上的,为了顾虑到一般台式机可能未考虑“散热”问题,所以C卡上自带风扇,让散热效果好一些。而M卡是专门为“机架式电脑”设计的,绝大部分机架式电脑是一堆放在机架上的,所以内部有更多的风扇与导流设计,这样M卡就可以省略风扇,把体积做到更小,提高单位体积的计算密度。 
同样的,M卡为集群而设计,因此本身还提供更多的“监控元件”能与“集群管理”软件结合,管理人员可透过管理软件监控每一片M型GPU卡的温度与状态,温度过高也可透过管理软件发出警告。C卡则缺乏这样的功能。

每台GPU系统最佳的GPU数量为2片(多卡架构的最小数量),最多别超过4片。市面上有8片甚至到16片的方案,不仅“散热”问题、电源供应问题会令人提心吊胆,此外,收到PCI-E总线限制,超过4片以上的方案,都得不到“完整PCI-E带宽”,所以GPU数量看来好像很多,但都得不到相对的性能提升。因此建议 2~4 片 GPU 的系统,是性价比、稳定性较优的配置。


参考文献


How can I change the nvidia GPU fan speed?

Ubuntu 12.04 Nvidia 显卡的风扇调速

Linux Ubuntu下运行startx的后果

ubuntu 执行 startx 后的一些问题

How To Install nvclock On Ubuntu 14.04 LTS

深度学习训练时GPU温度过高?几个命令,为你的GPU迅速降温

从零开始组装深度学习平台(GPU散热)

NVIDIA/Tips and tricks

NVIDIA (简体中文)

Adjust Nvidia GPU fan speed (Multiple GPUs, one monitor)

Guide for fan speed control for Nvidia cards in Linux

Tesla C卡跟M卡区别是什么?

你可能感兴趣的:(tensorflow)