Nvidia autofan script for HiveOS|Скрипт автоуправления вентиляторами Nvidia

edited May 17 in Nvidia Cards
https://github.com/Steambot33/HiveOS-Nvidia-autofans
в связи с летним сезоном, делюсь, если кому то нужно)

установка простая. в папку /home/user заливается 2 файла autofan.sh и xinit.user.sh (ставим права на исполнение 755 ).
запускаем командой screen -dmS autofan /home/user/autofan.sh
всё!)))
командой screen -ls проверяем висит ли процесс autofan.
проверяем обороты и температуру GPU.
скрипт будет стартовать при перезагрузке системы.
если убъете процесс, то примените заново настройки вентиляторов из панели Hive.

кому мало оборотов, то более агрессивных настроек работы вентиляторов можно добиться увеличением параметров MIN_COEF и MAX_COEF (для начала попробуйте MIN_COEF=85).

тестировалось на 1066/1070/1080.

с удовольствием отвечу на вопросы)

p.s. for not russian-speaking users: read GitHub description
Tagged:

Comments

  • видеоинструкция
  • доброго времени суток, все сделал по инструкции, но процесс не появился в списке после "командой screen -ls проверяем висит ли процесс autofan."
    подскажите пожалуйста куда копать?
  • edited May 19
    права выставили на исполнение? пробуйте запустить ./autofan.sh (нужно перейти в папку со скриптом). у меня запущено как на 0.5-32 сборке, так и на 0.5-51. всё работает. единственный нюанс, не знаю как поведет себя скрипт в риге, где и красные и зеленые карты стоят. у меня красных нет, не могу протестировать.
    как вариант, проделать те же действия локально из консоли (не по ssh) либо: Once you are in run sudo -s to become root user. Start or stop miners, agent, etc only from root user. но измените тогда пароль пользователя user, если к ригу есть доступ из интернета, для безопасности.
    позже попробую запустить скрипт без привилегий, чтобы знать точно.
  • edited May 19
    Я проверил - работает стабильно в риге где есть и красные и зеленые. Только я так и не понял алгоритм примененный в этом скрипте и назначение параметров MIN_COEF и MAX_COEF. Не могли бы прокомментировать формулы примененные для вычисления скоростей вентиляторов
  • edited May 19
    Принцип расчета оборотов основан на коэффициентах MIN_COEF и MAX_COEF , в зависимости от текущей температуры видеокарты и порогов минимальной и максимальной температур. Формула расчета создавалась исходя из имеющихся данных (условие: без использования предыдущих значений). В принципе сразу просто взял 3 точки температуры и желаемые обороты, потом подбирал коэффициенты и делал расчеты, пока не выстроилась система. Мне такой путь показался наиболее быстрым, чем искать уравнение кривой)
    Для получения более высоких оборотов, нужно увеличить коэффициенты MIN_COEF и MAX_COEF. Также можно изменять и параметры MIN_TEMP и MAX_TEMP. Но лучше сначала перепроверить на калькуляторе и подобрать более предпочтительный вариант. Я тестировал и изменением MIN_TEMP и MAX_TEMP, но мне больше нравиться изменением MIN_COEF и MAX_COEF. Можно и все 4 поменять)
    На GitHub внизу в описании для наглядности есть табличка с несколькими расчетами для измененных параметров.
  • Вот таблица с формулами, можно поставить свои значения коэффициентов и увидеть результат. https://docs.google.com/spreadsheets/d/1WIFmyyYiKxEmjZeXVx17DSbxZVzSR38jgQolwdpGHNI/edit?usp=sharing
  • hi, i'm trying to run the script but i get this, any ideas ?
    cnsj2aqwbcds.png
  • edited May 21
    lycanalin wrote: »
    hi, i'm trying to run the script but i get this, any ideas ?
    cnsj2aqwbcds.png
    Script does not work on mixed rig.
    Needs some workarounds
  • edited May 21
    lycanalin wrote: »
    hi, i'm trying to run the script but i get this, any ideas ?
    cnsj2aqwbcds.png

    Script will work on mixed rig (nvidia and amd) if an amd GPU will last. For example, your rig must have:
    0-nvidia
    1-n
    2-n
    3-n
    4-n
    5-n
    6-amd
    7-amd

    You can try to re-switch on the amd card in other pci slot.
  • У меня стоят вразнобой амд 6 шт. и нвидиа 7 шт. Проблем нет - скрипт работает четко на нвидиа. Амд управляются клеймором.
  • edited May 21
    Deret wrote: »
    У меня стоят вразнобой амд 6 шт. и нвидиа 7 шт. Проблем нет - скрипт работает четко на нвидиа. Амд управляются клеймором.
    тогда хз, что у него, надо смотреть.
    некоторые вообще сразу лезут менять код, а потом пытаются запускать)
    но по идее такая трабла вполне может быть по логике.
  • вообще по идеи не должно быть ибо через драйвера nvidia номер карты через nvidia-smi и номер карты в nvidia-settings это чисто внутреннее распределение номеров карт. Т.е. как бы рандомно не стояли карты в риге нумерация карт в драйвере nvidia все равно будет последовательная.
  • да, все верно. выяснил проблему. на 51 сборке оверклокинг не работает, поэтому траблы у него. ща откатится, перепроверим.
  • steambot wrote: »
    да, все верно. выяснил проблему. на 51 сборке оверклокинг не работает, поэтому траблы у него. ща откатится, перепроверим.
    проблема решена другой сборкой.
  • edited May 25
    https://github.com/Steambot33/HiveOS-NVIDIA-GPU-autofan-2.0
    Новая версия. Проста в установке и дружественна пользователю)

    Добавлено:
    - скрипт сам создает файл автозагрузки (если его нет) и прописывает необходимые команды
    - изменение настроек при запуске скрипта с ключем -s . настройки применяются сразу, перезапуск скрипта не требуется.
    - мониторинг температуры и вентиляторов при запуске с ключем -c
    - возможность запуска в невидимом режиме (как сервис) прямо из скрипта. ключ -g
    - возможность запуска в обычном режиме. ключ -r. при закрытии окна скрипт перестанет работать.
    - прекратить работу скрипта можно запуском с ключем -k
    - запуск без ключа проведет все необходимые настройки и спросит разрешения на запуск в режиме сервиса или в обычном экранном.

    Для установки нужно только скачать файл autofan.sh, задать ему права на исполнение, запустить и следовать инструкциям на экране (ввести настройки и согласится на запуск скрипта в диалоге). Как проделать эти операции описано в readme на GitHub.

    Попробуйте, Вам понравится!)))
  • edited May 28
    Обновление скрипта.
    - добавлен selfupdate при запуске с ключем -u с GitHub
    - опция остановки майнера при достижениии критической температуры (задается в настройках), майнер запускается снова после снижения температуры ВК
    - опция снижения ПЛ при достижении установленной пользователем критической температуры. ПЛ снижается только для той карты, которая перегрелась. ПЛ снижается до 120% от минимального ПЛ, заявленного видеокартой. Значение минимального ПЛ для каждой ВК можно увидеть в админке хайва. К прежнему значению можно вернуться, применив настройки оверклокинга из админки.
  • edited June 5
    UPDATE v.2.3.2:
    The script has an intellectual adjustment. You need to set the range of the desired temperature. During the work the script will adjust the necessary parameters. After some time after starting the fan speed will be more stable in the specified temperature range.

    Обновление v.2.3.2:
    Применяется "интеллектуальная" стабилизация оборотов в пределах заданных температур. Также используется автоматическое понижение или повышение коэффициентов.
    Теперь в настройках нужно указать только диапазон температур (мин, макс), минимально желаемые обороты кулера, условия остановки майнера и снижения ПЛ.


  • Thanks for this! I have rolled out this script to all my HIVE rigs and overall it is working great. But I'm not sure the "Intelligence" is working correctly on all my rigs.

    Here's a shot of the HIVE dashboard from a few minutes ago:

    HIVE_Autofan_01.JPG

    All the rigs are located on the same rack with filtered air from the outside blowing through the rack at 10,000 CFM and then being exhausted by a 2nd 10,000 CFM fan located high on an adjacent wall. Ambient temps are around 90 degrees F (it is hot where I am this time a year).

    Look at GPU 3 on miner03. Fan is spinning at 87% yet the GPU temp is only 59 degrees. That fan should be spinning at closer to 50% I would think and still be able to maintain temps below 60 degrees. GPU 1 on miner03 also seems to be running a fan speed much higher than it needs to.

    I use all default values except my max temp is set to 71 degrees instead of the default which I believe was 65 degrees.

    Ignore miner05 since all those cards are watercooled. Ditto for the low temp GPUs in some of the other rigs (which are mixed with air cooled cards in the same rigs in some cases).

    Anyway, very pleased with the script overall, but am curious about the behavior on miner03. Load averages are high, at above 8 atm. I wonder if that could have something to do with it?
  • I rebooted miner03 and miner04 and that gave me just the opposite problem. The GPU fans are now mostly running at 40% and the GPU's are starting to overheat:

    HIVE_Autofan_03.JPG

    Here's what -c is showing me:

    HIVE_Autofan_04.JPG

    After several more minutes:

    HIVE_Autofan_05.JPG

    So does the script only change the fan rpm by 1% every 30 seconds by default?

  • @crazydane sent PM message to you
  • Testing showed that the problem is not in the script work. Very high CPU load.
  • You should concat all -a commands into an $args variable that is declared at the start of the while loop. When the iteration of the while loop ends (before the sleep $DELAY line) execute it all via:
    nvidia-settings $ARGS > /dev/null
    

    That's how you deal with the slowdowns in the best possible way. My 13 gpu rig takes around 2 minutes compared to 7-8 minutes to apply all commands linearly.
  • @brnfex thank you. i know this trick, it used by HiveOS OC scripts.
    i will try)
Sign In or Register to comment.