Как разбудить Linux-сервер, когда температура упадет до определенного значения?

Как разбудить Linux-сервер, когда температура упадет до определенного значения?

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

Я могу написать скрипт, который отправит сервер в спящий режим, но как его разбудить в зависимости от изменения температуры? Возможно ли это вообще?

решение1

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

Для внешнего оборудования вы можете подключить датчик температуры к Arduino и использовать егоотправка пакета Wake On LAN (WOL) с помощью Ethernet-экрана. Вы также можете подключить его непосредственно к разъему WOL, если он есть на вашей материнской плате, или, возможно, подключить его к выключателю питания.

Чтобы периодически выводить компьютер из спящего режима, можно использоватьбудильник RTC, проверьте температуру, затем перезапустите будильник и снова ложитесь спать, если необходимо.

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

Связанный контент