nvidia在linux上控制風扇速度,需要起X,在無顯示器鏈接的服務器上顯得有點坑,這里匯總一下整個流程
1.nvidia-xconfig --cool-bits=4 生成xorg.conf
2.在X已啟動的前提下,用nvidia-settings -q all | grep -i fan 列出關於風扇的所有屬性,其中應該有 GPUFanControlState,把它設置為 1,然后再根據需要設置 GPUFanTarget,例如nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUTargetFanSpeed=70
3.如果X沒有啟動,管理員權限執行 X :1 & 啟動X,注意,這里:1需要根據實際情況修改,例如改為2、3。
多GPU風扇控制,參考
https://sites.google.com/site/akohlmey/random-hacks/nvidia-gpu-coolness
主要改動是針對不同GPU,修改xorg.conf Device BusID,添加CustomEDID,欺騙X鏈接顯示器,啟動不同的X,並指定環境變量DISPLAY(例如=:2、=:3),之后再執行nvidia-settings。這里提供一個xorg.conf模板
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 352.39 (buildmeister@swio-display-x64-rhel04-18) Fri Aug 14 18:49:16 PDT 2015
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:131:0:0"
Screen 0
Option "UseDisplayDevice" "DFP-0"
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0:/opt/set-gpu-fans/dfp-edid.bin"
Option "Coolbits" "5"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Coolbits" "5"
Option "UseDisplayDevice" "DFP-0"
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0:/opt/set-gpu-fans/dfp-edid.bin"
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection