- Управление кулером в системе Linux
- Установка LM-Sensors
- Настройка lm-sensors
- Настройка службы fancontrol
- Ручное управление оборотами кулера
- Выводы
- Управление кулером Linux
- Подготовка системы
- Установка lm_sensors
- Настройка lm_sensors
- Управление кулером Linux
- Ручное управление оборотами кулера
- Выводы
- Настройка авторегулирования оборотов вентиляторов
- Проблема
- Управление кулером в Ubuntu при помощи fancontrol
Управление кулером в системе Linux
Эта функциональность зависит как от вашего оборудования, так и от программного обеспечения. Если ваше оборудование не поддерживает управление скоростью вращения вентилятора или не отображает их в ОС, очень вероятно, что вы не сможете использовать это решение. Если это так, но программное обеспечение (как ядро) не знает, как его контролировать, вам не повезло.
Но, если все в порядке то мы может приступить к тому, чтобы рассказать вам как управлять кулером в Linux.
Установка LM-Sensors
Установите lm-sensors и пакеты fancontrol.
Или с помощью команды для установки LM-Sensors в системе Ubuntu или Debian:
sudo apt-get install lm-sensors
sudo yim installlm-sensors
Для Gentoo нужно использовать эту команду:
sudo emerge -av lm-sensors
Настройка lm-sensors
Управление кулером в Linux является очень простым. Но, перед эти нужно правильно установить и настроить программное обеспечение.
- В терминальных типах датчики sudo — обнаруживают и отвечают ДА всем YES / no questions.
- В конце обнаружения датчиков отобразится список модулей, которые необходимо загрузить.
Введите «Yes», чтобы обнаружить датчики, вставить эти модули в / etc / modules или отредактировать / etc / modules самостоятельно.
Запустите sudo service module-init-tools restart. Это действие прочитает изменения, внесенные вами в / etc / modules на шаге 3, и вставьте новые модули в ядро.
Примечание. Если вы используете Ubuntu 13.04 или выше, эта команда 3-го шага должна быть заменена запуском sudo service kmod start.
Установка Fancontrol
Управление оборотами вентилятора вашего кулера происходит с помощью специальной программы. Эта программа очень просто устанавливается. Делается это также через командную строку как и в способе выше. Чтобы установить программу для операционной системы Ubuntu или Debian, нужно использовать эту команду:
sudo apt-get install fancontrol
для Fedora или RedHat
Настройка Fancontrol
В терминале типа sudo pwmconfig. Этот скрипт остановит каждый вентилятор в течение 5 секунд, чтобы узнать, какие вентиляторы можно контролировать, с помощью ручного управления PWM. После того, как скрипт будет проходить через все вентиляторы, вы можете настроить, какой вентилятор соответствует температуре.
В моем случае я установил интервал до 2 секунд. Если говорить про управление кулером в Linux то можно отметить автозапуск настроек. Об этом мы поговорим в следующем пункте нашего руководства.
Настройка службы fancontrol
Запустите sudo service fancontrol start. Это также приведет к автоматическому запуску службы fancontrol при запуске системы. Это сделает управление кулером в Linux полностью автоматизированным после указанных настроек.
Ручное управление оборотами кулера
Если вы хотите организовать управление оборотами кулера через терминал вручную, каждый раз вводя команду — то, мы расскажем как это сделать. Для начала введите команду для отключения Fancontrol:
sudo systemctl stop fancontrol
Далее просмартиваем список доступных устройств и выбираем нужное:
$ ls /sys/class/hwmon/hwmon1/device/ | grep pwm
Здесь будет значение pwm1 или pwm2 — это файлы кулеров. Далее, нужно разрешить ручное управление вентилятором Linux, например для pwm2:
root $ echo 1 >>/sys/class/hwmon/hwmon1/device/pwm2_enable
Включаем кулер на всю мощь с помощью этой команды:
root $ echo 255 >> /sys/class/hwmon/hwmon1/device/pwm2
а теперь давайте сведем обороты в стандартный режим:
root $ echo 2 >> /sys/class/hwmon/hwmon1/device/pwm1
Выводы
Управление кулером в Linux является очень простым. Мы рассказали как это можно сделать с помощью программ самостоятельно через терминал. Но, если у вас есть вопросы — задавайте их в комментарии. Перед написание обязательно укажите каким дистрибутивом вы пользуетесь.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Управление кулером Linux
Читаете, вы, сейчас эти строки и слышите равномерный, в меру громкий шум кулера. Однозначно слышите, иначе вас бы не заинтересовала эта статья. На самом деле громкая работа кулера в Linux довольно частая проблема недавно перешедших с Windows-пользователей. А ведь он не должен так шуметь. В Windows, обороты вентилятора и многие другие параметры управляются автоматически в зависимости от нагрузки на систему и следовательно температуры оборудования, здесь же из коробки вентилятор всегда крутится на полную мощность, независимо от того, играете вы тяжелую игру, компилируете программу или просто просматриваете интернет страницы. Это нужно исправлять. В этой инструкции мы рассмотрим управление кулером Linux и настройку автоматической регуляции оборотов в зависимости от температуры.
Подготовка системы
Чтобы правильно управлять и ничего не спалить, ну на самом деле и ничего не сгорит, компьютер просто уйдет в перезагрузку, но все же… нам нужно знать температуру оборудования в данный момент. Для снятия показаний со всяких датчиков на материнской плате используется набор программ lm_sensors. Сначала настроим lm_sensors затем управление кулером linux.
Установка lm_sensors
Это, можно сказать, системный компонент, поэтому он есть в репозиториях всех дистрибутивов.
Для Ubuntu или Debian команда установки выглядит следующим образом:
Для Fedora и RHEL:
Также для Gentoo в ядре необходимо будет включить следующие функции:
Не забудьте пересобрать все пакеты с флагом lm_sensors
Настройка lm_sensors
Теперь нам нужно найти и записать информацию обо всех доступных сенсорах, для этого выполните:
После запуска команды нужно будет последовательно нажимать y, чтобы подтвердить сканирование следующей группы устройств, затем Enter:
А потом опять y для сохранения собранной конфигурации в файл:
Далее, добавляем сервис в автозагрузку:
Уже можем посмотреть показания сенсоров:
Здесь показаны не только температура, но и обороты кулера, а также напряжение. Но это не главное, у нас есть информация и мы можем переходить к следующему пункту.
Управление кулером Linux
Управление оборотами вентилятора linux выполняется с помощью сервиса fancontrol.
Для установки в Ubuntu:
После установки переходим к настройке автоматического регулирования оборотов кулера. Сначала нужно программно связать каждый кулер с соответствующим ему датчиком температуры, и настроить допустимый уровень температур. Для этого выполните:
Сначала программа покажет доступные драйверы вентиляторов:
Здесь вы видите предупреждение о том что вентиляторы linux будут отключены на некоторое время (5 секунд), как прочитаете нажмите Enter. Дальше будет выполнено тестирование доступных скоростей кулера:
Дальше настроим максимальную, минимальную и рабочую температуры, сначала выберите кулер, например 1:
Теперь выберите датчик температуры для этого кулера:
Теперь укажите температуру, при которой вентилятор linux будет вращаться на минимальной скорости:
Затем температуру, при которой нужно переходить на максимальные обороты:
Далее, нужно указать минимальное значение оборотов pwm, можно узнать нажав кнопку t
Какое значение pwm использовать если температура превышает минимальную, по сути, это рабочие обороты:
Какое значение использовать при превышении максимальной температуры:
Готово теперь, остается настроить таким же образом другие кулеры, если у вас их несколько и можно сохранять:
Сохранить и выйти под номером 5.
Добавляем fancontrol в автозагрузку:
Чувствуете? тишина… теперь fancontrol управляет вашими кулерами и шума без надобности больше не будет.
Ручное управление оборотами кулера
Меня всегда интересовало, как вручную выключить кулер. Сразу забегая на перед скажу, что ничего не сгорит, температура просто будет плавно расти. Если запущен fancontrol останавливаем, чтобы не мешал:
Смотрим доступные устройства:
Здесь pwm1, pwm2.. это файлы кулеров. Разрешаем ручное управление вентилятором linux, например, для pwm1:
Включаем на полную:
А теперь на минимум:
Выводы
Теперь вы достаточно знаете и управление кулером не вызовет у вас проблем. Вы можете заставить свой компьютер или ноутбук не шуметь и не мешать вам спать ночью. Если остались вопросы, пишите их в комментариях!
Источник
Настройка авторегулирования оборотов вентиляторов
Дмитрий Корнев
В любом современном компьютере есть датчики температуры. Датчики встраиваются в процессоры, материнские платы, диски, видеокарты. Кроме этого, на многих материнских платах есть возможность наблюдать за скоростью и управлять скоростью вращения вентиляторов. Используя специальный софт можно связать одно с другим. Чтобы, только при повышении температуры вентиляторы начинали крутиться быстрее.
Я не нашёл для этой задачи софта с нормальным графическим интерфейсом. Есть только консольные программы. Благо, они дружелюбны. Настройка производится в режиме мастера. Вам задаются вопросы, вы выбираете варианты ответов. У меня настройка заняла 5 минут.
Руководство неоднократно мною использовано, в том числе в Elementary OS 5 и Ubuntu 20.04.
Установка необходимого софта:
Запуск автоматического определения имеющихся в компьютере датчиков:
При этом сначала будут задаваться вопросы, хотим ли мы тестировать те или иные типы существующих в природе чипов. В принципе, можно не вникать, что за железо нам предлагают для тестирования. Можно нажимать всегда y и тестировать всё подряд.
В конце будет предложено сохранить найденное в файл конфигурации. Сделайте это, если результат тестирования вас удовлетворит, если будут найдены хоть какие-нибудь датчики.
Результат для моего компьютера:
Теперь можно перегрузить фоновый сервис, чтобы изменения вступили в силу:
После посмотреть показания всех найденных датчиков:
Результат для моего компьютера:
Важно, чтобы у вас в результатах показывались обороты вентилятора(ов)!
Если таковых нет, то продолжать настройку дальше смысла нет. Управлять нечем. Возможно вы сделали не полный поиск по всевозможным вариантам оборудования. Тогда попробуйте его повторить. Если не поможет, то вам не повезло. Либо в софте нет поддержки вашего типа оборудования. Либо у вас железо, которое не имеет соответствующих датчиков и управления.
У меня к материнской плате подключен только один вентилятор, из трёх возможных. Этот единственный вентилятор на процессоре. Им я и хотел управлять. По умолчанию он был включен на полные обороты. Скорость вращения видна в выдаче.
Теперь обращаемся к программе, которая попытается управлять скоростью вращения вентиляторов. Она же и произведёт, в случае необходимости, настройку автоматического управления скоростью.
Не торопитесь, читайте, что пишет и спрашивает программа. Делает она это, к сожалению, на английском. Но текст можно копировать, например, в Google-переводчик. Важно понимать, что вы делаете.
Результат для моего компьютера:
Теперь комментарии к моему примеру.
Смысл первого этапа в том, что программа видит, какие есть датчики оборотов. Каждый датчик/вентилятор она пытается затормозить на 5 секунд. Нужно подтвердить – было снижение оборотов или нет. Если снижение вы подтверждаете, то программа для этого датчика дополнительно предлагает попробовать плавную регулировку оборотов.
В моём случае один вентилятор и 3 датчика. Первым программа попыталась управлять, но результата никакого не было. Управление вторым датчиком имело результат — обороты снизились. Дополнительно произведён тест плавного регулирования оборотов. От тестирования третьего датчика я отказался.
Второй этап — это настройка автоматического регулирования оборотов. Я выбрал из списка единственный свой датчик, который хотел настроить. Другие в списке не показались, ведь для них я не подтвердил, что ими удалось управлять.
Программа перечисляет все имеющиеся датчики температуры и спрашивает, к какому из них привязать настраиваемый в данный момент регулятор оборотов.
Вот тут было довольно неудобно. Показываются коды датчиков температуры и сами температуры. Можно лишь приблизительно ориентироваться, какие из них какие. А ещё надо сообразить, к чему лучше привязываться.
У меня управление оборотами вентилятора, который на процессоре. Не составило труда определить датчики температуры для каждого из четырех его ядер. Ещё, по температуре я сразу узнал датчик видеокарты. Но это всё не то. Лучше всего для мой задачи подошёл бы какой-нибудь общий датчик температуры процессора. Позднее я его все же идентифицировал.
Очевидно, что лучше выбирать тот датчик температуры, который те только подходит по смыслу, но и быстро реагирует на изменения температуры процессора, чтобы быстрее подстраивать под неё обороты вентилятора. Так, например, показания датчика, который расположен где-то на поверхности материнской платы, да ещё и в далеке от процессора — это неприемлемый выбор.
В общем, тут выбор у каждого свой. Я вначале выбрал почти наугад, но позднее потестировал, как всё это работает при нагрузке. Оказалось, что выбор сделан правильный. Нагружая процессор, температура выбранного датчика меняется довольно быстро и обороты вентилятора при этом начинали постепенно расти.
В случае необходимости можно изменить выбор. Это можно сделать вручную, просто отредактировав файл конфигурации /etc/fancontrol . Ну или запустить снова мастер настройки. Я рекомендую второй вариант. Он значительно проще и последующие разы отвечать на вопросы можно практически не задумываясь. Времени уходит минимум.
В мастере настройки я указал, что до температуры 40°C обороты вентилятора должны быть минимальны. Максимальные обороты при температуре 60°C. Далее выбрал сохранение результатов и выход.
Чтобы настройки начали работать нужно запустить фоновый сервис:
У меня при этом сразу наступила тишина.
Ещё команды, которые стоит знать:
Соответственно, остановка и перезапуск фонового сервиса fancontrol.
Проблема
У меня иногда случалось так, что компьютер запускался, а вентиляторы продолжали крутиться на полных оборотах. Перезапуск компьютера обычно решал проблему. Ещё можно было просто перезапустить службу fancontrol .
В итоге я просто добавил задержку 5 секунд перед запуском службы. Видимо, какие-то компоненты системы не успевали активироваться/прогрузиться перед запуском службы.
Источник
Управление кулером в Ubuntu при помощи fancontrol
После покупки минисервера появилась необходимость контролировать обороты кулеров, чтобы убрать вообще издаваемый шум.
Для того чтобы это сделать необходимо поставить пакет lm-sensors.
apt-get install lm-sensors
В папке /etc/init.d/ появляется новый скрипт fancontrol который периодически опрашивает датчики и если необходимо меняет обороты.
Для получения данных об оборотах куллеров необходимо выполнить комманду:
# sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.17 V (min = +0.00 V, max = +4.08 V)
in1: +1.82 V (min = +0.00 V, max = +4.08 V)
in2: +3.39 V (min = +0.00 V, max = +4.08 V)
in3: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in4: +3.15 V (min = +0.00 V, max = +4.08 V)
in5: +0.03 V (min = +0.00 V, max = +4.08 V)
in6: +1.23 V (min = +0.00 V, max = +4.08 V)
in7: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in8: +4.08 V
fan1: 537 RPM (min = 0 RPM)
fan2: 891 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: -53.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -2.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +20.0°C (low = +127.0°C, high = +90.0°C) sensor = thermal diode
cpu0_vid: +0.000 V
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +47.0°C (high = +86.0°C, crit = +100.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +47.0°C (high = +86.0°C, crit = +100.0°C)
Fan1: обороты кулера процессора.
Fan2: обороты внешнего кулера, который подключается отдельно (у меня отдельно подключена 120-тка)
Для управления используются файлы /sys/class/hwmon/hwmon0/device/fan1_input и /sys/class/hwmon/hwmon0/device/fan2_input
Взависимости от числа записанного в файле меняется скорость вращения (и шума) кулера.
Для того чтобы включить кулер на «полную» можно сделать так:
echo «255» > /sys/class/hwmon/hwmon0/device/fan1_input
Чтобы у знать какое число отвечает за какие обороты необходимо выполнить команду pwmconfig
При запуске команды запустится утилита которая выдаст список оборотов и число которое необходимо посылать в файл /sys/class/hwmon/hwmon0/device/fan1_input, такого плана:
hwmon0/device/pwm1
PWM 255 FAN 1713
PWM 240 FAN 1713
PWM 225 FAN 1642
PWM 210 FAN 1527
PWM 195 FAN 1400
PWM 180 FAN 1285
PWM 165 FAN 1153
PWM 150 FAN 1036
PWM 135 FAN 902
PWM 120 FAN 784
PWM 105 FAN 829
PWM 90 FAN 1106
PWM 75 FAN 0
Fan Stopped at PWM = 75
Как показывает вывод самые большие обороты у кулера при значении 255, а если передать что-то ниже 75 кулер остановится вообще.
Теперь необходимо настроить файл которые отвечает за обороты и температуру (взаимосвязь температура = обороты) /etc/fancontrol :
У меня он имеет вид:
INTERVAL=3
FCTEMPS=hwmon0/device/pwm1=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input hwmon0/device/pwm3=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input hwmon0/device/pwm3=hwmon0/device/fan2_input
MINTEMP=hwmon0/device/pwm1=30 hwmon0/device/pwm3=30
MAXTEMP=hwmon0/device/pwm1=60 hwmon0/device/pwm3=60
MINSTART=hwmon0/device/pwm1=120 hwmon0/device/pwm3=120
MINSTOP=hwmon0/device/pwm1=75 hwmon0/device/pwm3=0
И посмотреть используя sensors какие сейчас обороты и какая температура.
Источник