Управление скоростью вращения вентилятора в Linux
Введение
Управление скоростью вращения вентилятора позволяет продлить срок службы системного оборудования и повысить производительность как аппаратного, так и программного обеспечения. По крайней мере, это может повысить энергоэффективность, свести к минимуму износ оборудования из-за перегрева и обеспечить корректную работу программ.
- В этом уроке мы расскажем о способах управления скоростью вращения вентилятора в Linux.
Использование fancontrol
- lm-sensors — это инструмент для мониторинга аппаратных датчиков в системе, в том числе датчиков температуры, скорости вращения вентилятора и напряжения.
- fancontrol — это утилита lm-sensors, которая регулирует скорость вращения вентилятора в зависимости от температуры системы. Разумеется, мы можем настроить скорость вращения при разных температурах.
Установка lm-sensors
Чтобы использовать fancontrol в нашей системе на базе Debian, мы установим lm-sensors с помощью apt:
$ sudo apt update && sudo apt install lm-sensors
- Однако если мы используем дистрибутив на основе RHEL, например CentOS, мы установим lm-sensors с помощью dnf:
$ sudo dnf -y install lm_sensors
- Затем, после установки lm-sensors, мы проверим, все ли прошло успешно:
$ sensors -v sensors version 3.6.0 with libsensors version 3.6.0
Обнаружение датчиков и определение модулей для загрузки
Прежде чем настраивать fancontrol для управления скоростью вращения вентилятора, проверим наличие доступных датчиков и модулей ядра, которые нужно загрузить в систему:
$ sudo sensors-detect
- При запуске sensors-detect мы получим как минимум четыре запроса.
Первая проверка обычно направлена на поиск встроенных в центральный процессор датчиков, южных мостов и контроллеров памяти. Затем, как минимум, проверяются порты ввода-вывода ISA, адаптеры I2C/SMBus и датчики, встроенные в микросхемы ввода-вывода.
- sensors-detect сообщит нам, обнаружен ли какой-либо датчик. Кроме того, он может вернуть список модулей ядра, которые необходимо загрузить для lm-sensors корректной работы.
Запуск датчиков помогает нам проверить, исправно ли они работают.
$ sensors coretemp-isa-0000 Adapter: ISA adapter Package id 0: +35.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +33.0°C (high = +80.0°C, crit = +100.0°C) Core 1: +31.5°C (high = +80.0°C, crit = +100.0°C) ...truncated... atk0110-acpi-0 Adapter: ACPI interface Vcore Voltage: 1.08 V (min = +0.80 V, max = +1.60 V) +3.3 Voltage: 3.32 V (min = +2.97 V, max = +3.63 V) +5 Voltage: 5.03 V (min = +4.50 V, max = +5.50 V) +12 Voltage: 12.10 V (min = +10.20 V, max = +13.80 V) CPU FAN Speed: 1200 RPM (min = 600 RPM, max = 2000 RPM) Chassis FAN Speed:1200 RPM (min = 600 RPM, max = 2000 RPM)
- В некоторых случаях скорость вращения вентилятора может не отображаться или быть нулевой. Чтобы это исправить, можно увеличить делитель для датчиков вентилятора при настройке fancontrol.
Настройка fancontrol
После запуска sensors-detect мы запустим pwmconfig, чтобы настроить fancontrol:
$ sudo pwmconfig
- Обычно после установки lm-датчиков должны быть доступны pwmconfig и fancontrol . Но в некоторых случаях нам, возможно, придется устанавливать fancontrol отдельно, чтобы использовать pwmconfig и fancontrol.
- pwmconfig выполняет поиск датчиков, поддерживающих управление с помощью широтно-импульсной модуляции. Во время работы программа выводит различные подсказки для настройки обнаруженных датчиков. Однако подсказки могут отличаться в зависимости от аппаратного обеспечения и конфигурации системы.
- После завершения работы pwmconfig система создаст файл конфигурации /etc/fancontrol:
$ cat /etc/fancontrol INSIDE=thermal_zone0 FULL=100 MAXTEMP=70 MINTEMP=40 MINSTART=40 MINSTOP=0 MINPWM=20 FANTIME=10 FANPWM=255
- Как показано выше, /etc/fancontrol содержит наши ответы на запросы pwmconfig. Мы можем отредактировать его, если нам нужно обновить или изменить настройки fancontrol.
После создания файла конфигурации fancontrol мы запустим демон fancontrol:
$ sudo systemctl start fancontrol
- После этого fancontrol сможет регулировать скорость вращения вентиляторов в соответствии с настройками, заданными в /etc/fancontrol.
Использование nbfc-linux
- nbfc-linux — это сокращение от «Notebook Fan Control — Linux». Это реализация оригинального nbfc для Linux, которая управляет скоростью вращения вентилятора в соответствии с заданными температурными пороговыми значениями.
- Установка nbfc-linux
Чтобы установить nbfc-linux, сначала клонируем репозиторий GitHub:
$ git clone https://github.com/nbfc-linux/nbfc-linux.git
- Затем мы перейдем в локальную копию репозитория и установим пакет с помощью make и make install:
$ cd nbfc-linux/ && make && sudo make install
- Использование nbfc-linux
После установки nbfc-linux программа предложит подходящую конфигурацию для нашей системы:
$ nbfc config -r
- В качестве альтернативы мы могли бы получить список готовых конфигураций:
$ nbfc config -l ...truncated.. Acer Aspire 1410 ...truncated... Asus Zenbook UX530U ...truncated... Dell Inspiron 7348 ...truncated... HP Laptop 14-cm0xxx ...truncated... Xiaomi Mi Book (TM1613, TM1703)
- Затем мы можем применить одну из этих конфигураций к нашей системе:
$ sudo nbfc config -a "HP Laptop 14-cm0xxx"
- После применения конфигурации мы можем запустить службу nbfc:
$ sudo nbfc start
Аппаратные средства управления вентиляторами
- nbfc-linux и fancontrol предлагают управление вентиляторами без привязки к конкретному оборудованию. Но существуют специализированные инструменты для управления вентиляторами, которые могут пригодиться, если универсальные варианты не работают.
- i8kutils — это инструмент для управления скоростью вращения вентилятора и контроля температуры на некоторых ноутбуках Dell. По умолчанию он настроен на определенные параметры, но пользователи могут изменить их по своему усмотрению.
- thinkfan — это инструмент для управления вентилятором, который регулирует скорость вращения вентилятора в ноутбуках Thinkpad в соответствии с температурными пороговыми значениями, заданными в конфигурационном файле.
- macfanctld получает данные о температуре процессора с датчиков вентиляторов на MacBook. Затем на основе полученных данных регулирует скорость вращения вентилятора.
Заключение
В этой статье мы рассказали о двух инструментах для управления скоростью вращения вентилятора в различных моделях ноутбуков, уделив особое внимание их установке и некоторым ключевым функциям. Затем мы рассмотрели несколько распространенных аппаратных средств для управления скоростью вращения вентилятора.
