Управління кулером Linux, Losst
Підготовка системи
Щоб правильно керувати і нічого не спалити, ну насправді і нічого не згорить, комп'ютер просто піде в перезавантаження, але все ж таки… нам потрібно знати температуру обладнання в даний момент. Для зняття показань із будь-яких датчиків на материнській платі використовується набір програм lm_sensors. Спочатку налаштуємо lm_sensors потім керування кулером linux.
Встановлення lm_sensors
Це, можна сказати, системний компонент, тому він є у репозиторіях усіх дистрибутивів.
Для Ubuntu або Debian команда установки виглядає так:
sudo apt-get install lm-sensors
Для Fedora та RHEL:
sudo yim installlm-sensors
sudo emerge -av lm-sensors
Також для Gentoo в ядрі потрібно буде включити такі функції:
Device Drivers -> -*- I2C support -> I2C device interface Hardware Monitoring support —> //загалом кажучи, краще включити всі драйвера обладнання а потім подивитися які завантажаться і відключити непотрібні. [M] Intel Core/Core2/Atom temperature sensor (coretemp)
Не забудьте перезбирати всі пакети з прапором lm_sensors
Налаштування lm_sensors
Тепер нам потрібно знайти та записати інформацію про всі доступні сенсори, для цього виконайте:
# sensors-detect revision 6170 (2013-05-20 21:25:22 +0200) # Board: ASUSTeK Computer
Цей програма буде вказати, що визначить, які керуючі moduly ви повинні до load to use lm_sensors most effectively. Це є особливо надійним і доцільно припустити додаткові answers до всіх питань, не можна знати, що ви робите.
Після запуску команди потрібно буде послідовно натискати y, щоб підтвердити сканування наступної групи пристроїв,потім Enter:
Now follows summary of probes I have just done. Just press ENTER to continue:
А потім знову y для збереження зібраної конфігурації у файл:
Do you want to overwrite /etc/conf.d/lm_sensors? Введіть особливість іншого файлу імені? (yes/NO/s):
Далі, додаємо сервіс в автозавантаження:
sudo systemctl enable lm_sensors default
sudo systemctl start lm_sensors
Вже можемо подивитись показання сенсорів:
Тут показані як температура, а й оберти кулера, і навіть напруга. Але це не головне, ми маємо інформацію і ми можемо переходити до наступного пункту.
Управління кулером Linux
Управління обертами вентилятора linux виконується за допомогою сервісу fancontrol.
Для встановлення в Ubuntu:
sudo apt-get install fancontrol
sudo yum install fancontrol
Після встановлення переходимо до налаштування автоматичного регулювання обертів кулера. Спочатку потрібно програмно зв'язати кожен кулер з відповідним датчиком температури, і налаштувати допустимий рівень температур. Для цього виконайте:
pwmconfig revision 6166 (2013-05-01) Цей програма буде вивчати ваші sensors для pulse width modulation (pwm) контролі, і виконати один з них, щоб його керувати fan на на мій board. Зверніть увагу, що багато комп'ютерів не мають pwm circuitry installed, even if your sensor chip supports pwm.
Ми будемо приймати briefly stop всі люди, використовуючи всі контрольні системи. Це програма буде прив'язувати до останнього кожним фаном до повної швидкості афтер testing. However, it is ** very important ** that you physically verify that the fans має бути повною швидкістю after the program has completed.
Спочатку програма покаже доступні драйвери вентиляторів:
За допомогою наступних fan sensors: hwmon1/device/fan1_input поточна швидкість: 3292 RPM hwmon1/device/fan2_input поточної швидкості: 0 … skipping! hwmon1/device/fan3_input current speed: 0 … skipping!
Тут ви бачите попередження про те, що вентилятори linux будуть відключені на деякий час (5 секунд), як прочитаєте, натисніть Enter. Далі буде виконано тестування доступних швидкостей кулера:
Testing pwm control hwmon1/device/pwm1 … hwmon1/device/fan1_input … speed was 3292 now 1051 It appears that fan hwmon1/device/fan1_input is controlled by pwm hwmon1/ Would you like to generate a detailed correlation (y)? y Note: Якщо ви робили gnuplot installed, I could generate a graphical plot. PWM 255 FAN 3276 PWM 240 FAN 3169 PWM 225 FAN 3026 …
Далі налаштуємо максимальну, мінімальну та робочу температури, спочатку виберіть кулер, наприклад 1:
Виберіть fan output до configure, або іншій дії: 1) hwmon1/device/pwm3 3) Зміна INTERVAL 5) Save and quit 2) hwmon1/device/pwm1 4) Just quit 6) Show configuration
Тепер оберіть датчик температури для цього кулера:
Пристрої: hwmon0 is k10temp hwmon1/device is it8712
Сучасні умови readings є як: hwmon0/temp1_input 37 hwmon1/device/temp1_input 47 hwmon1/device/temp2_input 40 hwmon1/device/temp3_input -128
Виберіть температурний сенсор як джерело для hwmon1/device/pwm3:
1) hwmon0/temp1_input 2) hwmon1/device/temp1_input 3) hwmon1/device/temp2_input 4) hwmon1/device/temp3_input 5) None (До не чинить цей PWM output)
Тепер вкажіть температуру, при якій вентилятор linux обертатиметься на мінімальній швидкості:
Enter the low temperature (degree C) below which thefan should spin at minimum speed (20): 45
Потім температуру, за якої потрібно переходити на максимальні оберти:
Enter the high temperature (degree C) over which the fan повинен spin at maximum speed (60): 60
Далі, потрібно вказати мінімальне значення оборотів pwm, можна дізнатися, натиснувши кнопку t
Enter the minimum PWM value (0-255) at which the fan STOPS spinning (press t to test) (100):2
Яке значення pwm використовувати, якщо температура перевищує мінімальну, по суті, це робочі обороти:
Введіть значення PWM (0-2) для використання, коли температура є меншою, ніж нижня температура 100
Яке значення використовувати при перевищенні максимальної температури:
Введіть значення PWM (2-255) для використання, коли температура за допомогою високої температури обмеження (255): 255
Готово тепер, залишається налаштувати так само інші кулери, якщо у вас їх кілька і можна зберігати:
Виберіть fan output to configure, або інші рішення: 1) hwmon1/device/pwm3 3) Зміна INTERVAL 5) Save and quit 2) hwmon1/device/pwm1 4) Just quit 6) Show configuration select (1-n): 5
Зберегти та вийти під номером 5.
Додаємо fancontrol в автозавантаження:
sudo systemctl enable fancontrol
sudo systemctl start fancontrol
Відчуваєте? тиша ... тепер fancontrol керує вашими кулерами і шуму без потреби більше не буде.
Ручне керування обертами кулера
Мене завжди цікавило, як вручну вимкнути кулер. Відразу забігаючи на перед скажу, що нічого не згорить, температура просто плавно зростатиме. Якщо запущений fancontrol зупиняємо, щоб не заважав:
sudo systemctl stop fancontrol
Дивимося доступні пристрої:
$ ls /sys/class/hwmon/hwmon1/device/grep pwm
Тут pwm1, pwm2.. це файли кулерів. Дозволяємо ручне керування вентилятором linux, наприклад, для pwm1:
root $ echo 1 >>/sys/class/hwmon/hwmon1/device/pwm1_enable
Включаємо на повну:
root $ echo 255 >> /sys/class/hwmon/hwmon1/device/pwm1
А тепер на мінімум:
root $ echo 0 >> /sys/class/hwmon/hwmon1/device/pwm1
Немає схожих записів
Оцініть статтю:
Засновник та адміністратор сайту losst.ru, захоплююсь відкритим програмним забезпеченням та операційною системою Linux. Як основну ОС зараз використовую Ubuntu. Крім Linux цікавлюся всім, що пов'язане з інформаційними технологіями та сучасною наукою.
У мене вентилятор працює в автоматичному режимі за промовчанням (Dell INSPIRON 1525 та UBUNTU 14.04)
Тиждень тому переїхав із Віндовс 10 на ROSA Desktop Fresh R7. У фоновому режимі помітив шум кулера. Системний монітор вказує на наявність 188 процесів. ЦП завантажено на 20%. У Десятці за аналогічних обставин (працює лише браузер) диспетчер показував 70 процесів та 1-2 % завантаження ЦП. А ще був антивірус. (Ноутбук Aspire 5750G-2454G64Mnkk – досить сильна машина).
>>>Системний монітор показує наявність 188 процесів. ЦП завантажено на 20%