nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration
GPU FAN SERVICE
nano /etc/systemd/system/multi-user.target.wants/gpufan.service
[Unit] Description = GPU FAN by galaxydata.ru After = network.target [Service] Type=forking ExecStart = /root/gpufan.sh [Install] WantedBy = multi-user.target
Create script
nano /root/gpufan.sh
#! /bin/bash #---------------------------------------------------------------------- # Description: adaptive fan speed management for NVIDIA GPUs on Linux # Author: Artem S. Tashkinov # Created at: Fri Jul 10 07:47:43 GMT 2015 # Computer: localhost.localdomain # System: Linux 4.1.0-ic on i686 # # Copyright (c) 2015 Artem S. Tashkinov All rights reserved. # # WARNING: I'm not liable for any damage to your GPU if you decide to # use this script # #---------------------------------------------------------------------- polltime=60 # in seconds range[0]="0 39" dtemp[0]=35 range[1]="40 59" dtemp[1]=45 range[2]="60 79" dtemp[2]=55 range[3]="80 200" dtemp[3]=80 trap ctrl_c INT ctrl_c() { echo echo -n "Resetting GPU fan management: " nvidia-settings --display :0 -a [gpu:0]/GPUFanControlState=0 &>/dev/null && echo "OK" || echo "Failed!" exit 0 } result=`nvidia-settings --display :0 -a [gpu:0]/GPUFanControlState=1 | grep "value 1"` test -z "$result" && echo "Fan speed management is not supported on this GPU. Exiting" && exit 1 while :; do temp=`nvidia-settings --display :0 -q GPUCoreTemp -t | head -1` i=0 while [ "x${range[i]}" != "x" ]; do read lo hi <<<$(echo ${range[$i]}) if [ $temp -ge $lo -a $temp -le $hi ]; then echo "GPU Temperature: ${temp}. Setting GPU fan speed to ${dtemp[$i]}%" nvidia-settings --display :0 -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=${dtemp[$i]}" &> /dev/null fi i=$((i+1)) done sleep $polltime done