Найти тему

Управляем кулерами корпуса сервера автоматически

Еще во время сборки сервера думал о том, что необходимо сделать управление кулерами на корпусе взаимосвязанным с температурой процессора и видеокарт.

На материнской плате всего два PWM выхода (по одному на каждый процессор). Потому управление было подключено к крайнему у выхода (самому горячему) процессору. Это позволяло пользоваться автоматическим управлением материнской платы.

С появлением видеокарт процессоры (и их VRM) перестали быть самыми горячими в корпусе (имеется ввиду TDP).
Чтобы не душить видеокарты и не бояться перегрева написал простенький сервис на bash для контроля температуры процессоров, в том числе графических.

Сервис умеет определять количество CPU и GPU в системе. Выбирает самый горячий процессор из каждого типа и устанавливает скорость вентиляторов на корпусе и процессоров (т.к. канал один) на основе максимально нуждающегося в охлаждении.

Например, если один из двух процессоров нагрелся до температуры, предусматривающей повышение оборотов, то обороты повышаются и на кулере первого, и на второго процессора, а так же корпуса.
Аналогично с температурой видеокарт.
Разница лишь в том, что управление оборотами происходит все тех же кулеров процессоров и корпуса.

Сервис НЕ управляет оборотами кулеров видеокарт (для безопасности), только читает температуру.

Главная задача сервиса - не дать "задохнуться" компонентам (видеокартам) в корпусе.

На видео проверка реакции кулеров корпуса на рост температуры видеокарт. Обе карты нагружаются на 100% (по 250Вт каждая).

Ссылка на проект: https://github.com/AlexanderChad/box_fan_control_for_cpu_and_gpu