My fans seem to max out at around 75%, even if the card temp is above 71 degrees which is what I have configured at the max temp. Here’s an example from one of my rigs:
And a view of GPU temps across a larger section of miners. So for the most part, autofan is doing a good job of adjusting fan speeds, but a few don’t seem to spin as fast as they should.
@crazydane wait new release please. Autofan will be built in HiveOS with more aggresive algo and AMD support.
p.s. in current version change MIN_TEMP=55 . MIN_COEF|MAX_COEF will be setted automatic.
I have my own take on the autofan which targets a fixed temperature rather than a coefficient-based fan increase:
for (( i = 0; i < $NV_CARDS; i++ )); do
NV_DATA=`nvidia-smi -i $i --query-gpu=fan.speed,temperature.gpu --format=csv,noheader,nounits`
CURRENT_FAN=`awk -F', ' '{print $1}' <<< $NV_DATA`
CURRENT_TEMP=`awk -F', ' '{print $2}' <<< $NV_DATA`
DIFF=$(( $CURRENT_TEMP - $TARGET_TEMP )) # low: 60-65=-5 High: 70-65=5
NEW_FAN=$CURRENT_FAN
if [[ $DIFF -ge 2 ]]; then # too high temperature
NEW_FAN=$(( $CURRENT_FAN + $DIFF ))
if [[ $NEW_FAN -gt $MAX_SPEED ]]; then
NEW_FAN=$MAX_SPEED
fi
elif [[ $DIFF -le -2 ]]; then # too low temperature
NEW_FAN=$(( $CURRENT_FAN - ${DIFF#-} / 2 )) # get absolute number of $DIFF and divide it by 2
if [[ $NEW_FAN -lt $MIN_SPEED ]]; then
NEW_FAN=$MIN_SPEED
fi
fi
if [[ $NEW_FAN -eq 0 || $NEW_FAN -eq $CURRENT_FAN ]]; then # do nothing
echo -e "GPU${i} ${CURRENT_TEMP}\xc2\xb0C ${CURRENT_FAN}%"
else
echo -e "GPU${i} ${CURRENT_TEMP}\xc2\xb0C ${CURRENT_FAN}% -> ${NEW_FAN}%"
ARGS+=" -a [gpu:$i]/GPUFanControlState=1 -a [fan:$i]/GPUTargetFanSpeed=$NEW_FAN"
fi
done
This essentially increase the fan speed by the temp difference and then if it gets too cold, reduces it by diff/2. Runs only if the difference is >=2 degrees and doesn’t go below and above a specified min/max fan %.
It’d be lovely if you can implement it into your script. I’ve been running it for nearly 2 months and works just fine.
@steambot, sorry but I didn’t understand that.
AMD’s temperature target (keep the same temperature and increase/decrease the fan in order to keep it) makes the GPU run at constant temperature, which is good for the chip itself. I’m not saying that my solution is better, it is just another way of achieving a fan control.
@steambot setting MIN_TEMP = 55 did the trick! That one CPU that was hitting low to mid 70’s with fan speed maxing out around 75%, is now running at 68 degrees with fan speed of 90%. I’ll look forward to the version integrated with the OS. Ideally, I’d like to get it dialed in to where the fans run at whatever speed is needed to keep the temp at 71 degrees. Don’t really need the fan to run faster than this and cool the GPU even more.
tested new version in hive 59, and it works really bad with 13 P106 cards.
with target 65C - temp is jumping up and down from 55 to 72 and fan speed 50% - 95%.
(if i set manually 60% - I getting about 66C on all cards.)
Imho, it is due to big step in fan speed change. it must go up fast and down slow.
the same as brnfex idea. I will try his script
@Bio just wait 15 minutes and “jumping” must be stopped and script set stable fan speed.
give me screenshot with script work, please.
скрипт стабилизирует обороты минут через 15, если жарко, чтобы температура карты не поднималась выше установленного таргет темп.
скриншот работы скрипта и настроек покажи плиз, чтобы глянуть что не так.
second time i started with 60% in OC.
and it looks like problem with card numbering. first card remained unchanged on 60%.
and on others I see 100% with low temp, and 30% with 73C.
@Bio я вижу на некоторых картах разница в показаниях температура/скорость. странные показание 6 и 7-й карт.
на клее отключена регулировка скорости кулеров?
зачем включена встроенная карта? майнер на цпу при 13 картах, что он накапает???
коэффициенты увеличиваются, скрипт работает. почему параметры разные, нужно отдельно на риге смотреть.
если бы клей регулировал нвидию, в скрипте не было бы такой такой нужды.
в скрипте есть ошибка из за которой он не регулирует первую карту.
и показания остальных не все совпадают. из за этого скрипт неправильно регулирует некоторые карты. это видно по разнице показаний и объясняет его странную работу.
возможно это возникает из за встройки, но если бы был смешанный риг, то был бы такой же глюк. в параметры передается индекс из хайва, а nvsettings нумерует карты начиная 0. исправил это, и вроде как работает. без этого регулировалась скорость соседнего вентилятора.
а встройка удобна для настройки, причем на любых ригах 1060/Р106/1070/RX это не создавало проблем.
в массиве первые данные идут 0, 0 (fans_array, temperatures_array), что логично.
они как раз берутся правильные, с индекса 1. это видно по тому, что карты на автофан скрине нумеруются с 1 до 13. и эти же индексы передаются в nvsettings,
хотя туда должны попадать с 0 до 12
Fan speed increase/decrease should be more gradual.
CPU load also increased on another rig (10 nvidia cards) from 3.5 with my version of the script to 5.5 with yours after 0.5-69 upgrade. Another 6-gpu nvidia rig increased the load from 0.2 to 1.5. CPU load on AMD is fine.
Вам спасибо.
немного смущает название TARGET_TEMP. ожидается что это некая средняя температура. а на практике получается, что это предельная. при 65С - карты по факту 60-63, редко даже 64.
@Bio таргет как бы целевая температура. никак не средняя. на практике да, крайняя.
все риги, которые тестировали, начинали с ГПУ_0. нужно разобраться почему у вас не так.