Еще во время сборки сервера думал о том, что необходимо сделать управление кулерами на корпусе взаимосвязанным с температурой процессора и видеокарт.
На материнской плате всего два PWM выхода (по одному на каждый процессор). Потому управление было подключено к крайнему у выхода (самому горячему) процессору. Это позволяло пользоваться автоматическим управлением материнской платы.
С появлением видеокарт процессоры (и их VRM) перестали быть самыми горячими в корпусе (имеется ввиду TDP).
Чтобы не душить видеокарты и не бояться перегрева написал простенький сервис на bash для контроля температуры процессоров, в том числе графических.
Сервис умеет определять количество CPU и GPU в системе. Выбирает самый горячий процессор из каждого типа и устанавливает скорость вентиляторов на корпусе и процессоров (т.к. канал один) на основе максимально нуждающегося в охлаждении.
Например, если один из двух процессоров нагрелся до температуры, предусматривающей повышение оборотов, то обороты повышаются и на кулере первого, и на второго процессора, а так же корпуса.
Аналогично с температурой видеокарт.
Разница лишь в том, что управление оборотами происходит все тех же кулеров процессоров и корпуса.
Сервис НЕ управляет оборотами кулеров видеокарт (для безопасности), только читает температуру.
Главная задача сервиса - не дать "задохнуться" компонентам (видеокартам) в корпусе.
На видео проверка реакции кулеров корпуса на рост температуры видеокарт. Обе карты нагружаются на 100% (по 250Вт каждая).
Ссылка на проект: https://github.com/AlexanderChad/box_fan_control_for_cpu_and_gpu