Оптимайнер не умеет управлять куллерами, поэтому использую такой bash-скрипт управления куллерами на основе температуры (держит заданную температуру 60С) автозапуск каждую сек: watch -n1 ~/gputemp.sh
nano ~/gputemp.sh
chmod u+x ~/gputemp.sh
P.S. проверьте конце скрипта пути, если надо - подправьте у меня, напр. одна карта но цифры в пути разные ls /sys/class/drm/card0/device/hwmon/hwmon2/
#!/bin/bash
# Adjust AMD GPU fan speeds according to card temperatures.
# Note that this script is intended to be run routinely from root's crontab.
# Set your TARGET temperature for all GPUs. If mining, this will realistically be on a scale from
# 50 to 70 degrees Celcius according to the temperatures you will put up with and the noise you
# will put up with.
function checkgputemp {
THERMOSTAT=60;
TEMP=$1;
PERCENT=`bc <<< "scale=2; ($TEMP/$THERMOSTAT)*100"`;
echo "$PERCENT";
}
# Note, TARGET temperature, not maximum temperature. Suggest setting this as one of 50, 60, or 70,
# because what we want is to permit about three different levels of fan speed responses according
# to whether we're a degree or two above the target, 10% above target or 15-20% above the target.
# Our fan speed (a value from 0-255) can sensibly be adjusted within a range of 50-250, where 50
# is all but silent (20% of fan capacity) and 250 is full blast (air and noise alike). Under the
# normal case, we'd like it to be between 100 and 200 (40% to 80%) of fan capacity while mining.
#
function decidefanspeed {
TMPP=$1;
TMPI=`echo $1 | cut -d \. -f 1| bc`;
FAN=$2
NEWFAN="$FAN";
[ "$TMPI" -lt 90 ] && NEWFAN=`expr "$FAN" - 30`;
[ "$TMPI" -lt 92 ] && NEWFAN=`expr "$FAN" - 20`;
[ "$TMPI" -lt 96 ] && NEWFAN=`expr "$FAN" - 10`;
[ "$TMPI" -gt 103 ] && NEWFAN=`expr "$FAN" + 10`;
[ "$TMPI" -gt 106 ] && NEWFAN=`expr "$FAN" + 20`;
[ "$TMPI" -gt 108 ] && NEWFAN=`expr "$FAN" + 30`;
[ "$TMPI" -gt 110 ] && NEWFAN=200;
[ "$TMPI" -gt 120 ] && NEWFAN=250;
[ "$NEWFAN" -gt 250 ] && NEWFAN=250;
[ "$NEWFAN" -lt 50 ] && NEWFAN=50;
echo "$NEWFAN";
}
for ((n=0;n<6;n++)); do
[ -r /sys/class/drm/card$n/device/hwmon/hwmon$n/temp1_input ] && [ -w /sys/class/drm/card$n/device/hwmon/hwmon$n/pwm1 ] && \
FAN=`cat /sys/class/drm/card$n/device/hwmon/hwmon$n/pwm1` && TMP=$((`cat /sys/class/drm/card$n/device/hwmon/hwmon$n/temp1_input`/1000)) && \
FANP=`bc <<< "scale=2; ($FAN/255)*100"` && TMPP=$(checkgputemp "$TMP") && NEWFAN=$(decidefanspeed "$TMPP" "$FAN") && \
NFANP=`bc <<< "scale=2; ($NEWFAN/255)*100"` && \
echo -n "`date` GPU #$n has temp $TMP" && echo -n $'\xc2\xb0'C && echo " ($TMPP%); set fan speed from $FAN/255 ($FANP%) to $NEWFAN/255 ($NFANP%)" && echo "$NEWFAN" > /sys/class/drm/card$n/device/hwmon/hwmon$n/pwm1;
done;