Уменьшить шум кулеров debian

Обновлено: 06.07.2024

Читаете, вы, сейчас эти строки и слышите равномерный, в меру громкий шум кулера. Однозначно слышите, иначе вас бы не заинтересовала эта статья. На самом деле громкая работа кулера в 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:

Включаем на полную:

А теперь на минимум:

Выводы

Теперь вы достаточно знаете и управление кулером не вызовет у вас проблем. Вы можете заставить свой компьютер или ноутбук не шуметь и не мешать вам спать ночью. Если остались вопросы, пишите их в комментариях!

Читаете, вы, сейчас эти строки и слышите равномерный, в меру громкий шум кулера. Однозначно слышите, иначе вас бы не заинтересовала эта статья. На самом деле громкая работа кулера в Linux довольно частая проблема недавно перешедших с Windows-пользователей. А ведь он не должен так шуметь.

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

Подготовка системы

Чтобы правильно управлять и ничего не спалить, ну на самом деле и ничего не сгорит, компьютер просто уйдет в перезагрузку, но все же… нам нужно знать температуру оборудования в данный момент. Для снятия показаний со всяких датчиков на материнской плате используется набор программ lm_sensors. Сначала настроим lm_sensors затем управление кулером linux.

Установка lm_sensors

Это, можно сказать, системный компонент, поэтому он есть в репозиториях всех дистрибутивов.

Для Ubuntu или Debian команда установки выглядит следующим образом:

sudo apt install lm-sensors

Для Fedora и RHEL:

sudo yum 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

Теперь нам нужно найти и записать информацию обо всех доступных сенсорах, для этого выполните:

После запуска команды нужно будет последовательно нажимать y, чтобы подтвердить сканирование следующей группы устройств, затем Enter:

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

А потом опять y для сохранения собранной конфигурации в файл:

Do you want to overwrite /etc/conf.d/lm_sensors? Enter s to specify other file name?
(yes/NO/s):

Далее, добавляем сервис в автозагрузку:

sudo systemctl enable lm-sensors

sudo systemctl start lm-sensors

Уже можем посмотреть показания сенсоров:

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

Управление кулером Linux

Управление оборотами вентилятора linux выполняется с помощью сервиса fancontrol. Для установки в Ubuntu:

sudo apt install fancontrol

sudo yum install fancontrol

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

pwmconfig revision 6166 (2013-05-01)
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.
We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

Сначала программа покажет доступные драйверы вентиляторов:

Found the following fan sensors:
hwmon1/device/fan1_input current speed: 3292 RPM
hwmon1/device/fan2_input current speed: 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/device/pwm1
Would you like to generate a detailed correlation (y)? y
Note: If you had gnuplot installed, I could generate a graphical plot.
PWM 255 FAN 3276
PWM 240 FAN 3169
PWM 225 FAN 3026

Дальше настроим максимальную, минимальную и рабочую температуры, сначала выберите кулер, например 1:

Select fan output to configure, or other action:
1) hwmon1/device/pwm3 3) Change INTERVAL 5) Save and quit
2) hwmon1/device/pwm1 4) Just quit 6) Show configuration

Теперь выберите датчик температуры для этого кулера:

Devices:
hwmon0 is k10temp
hwmon1/device is it8712
Current temperature readings are as follows:
hwmon0/temp1_input 37
hwmon1/device/temp1_input 47
hwmon1/device/temp2_input 40
hwmon1/device/temp3_input -128
Select a temperature sensor as source for hwmon1/device/pwm3:
1) hwmon0/temp1_input
2) hwmon1/device/temp1_input
3) hwmon1/device/temp2_input
4) hwmon1/device/temp3_input
5) None (Do not affect this PWM output)

Теперь укажите температуру, при которой вентилятор linux будет вращаться на минимальной скорости:

Enter the low temperature (degree C)
below which the fan should spin at minimum speed (20): 45

Затем температуру, при которой нужно переходить на максимальные обороты:

Enter the high temperature (degree C)
over which the fan should 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 использовать если температура превышает минимальную, по сути, это рабочие обороты:

Enter the PWM value (0-2) to use when the temperature
is below the low temperature limit 100

Какое значение использовать при превышении максимальной температуры:

Enter the PWM value (2-255) to use when the temperature
is over the high temperature limit (255): 255

Готово теперь, остается настроить таким же образом другие кулеры, если у вас их несколько и можно сохранять:

Select fan output to configure, or other action:
1) hwmon1/device/pwm3 3) Change 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:

echo 1 >>/sys/class/hwmon/hwmon1/device/pwm1_enable

Включаем на полную:

echo 255 >> /sys/class/hwmon/hwmon1/device/pwm1

А теперь на минимум:

echo 0 >> /sys/class/hwmon/hwmon1/device/pwm1

Выводы

Теперь вы достаточно знаете и управление кулером не вызовет у вас проблем. Вы можете заставить свой компьютер или ноутбук не шуметь и не мешать вам спать ночью. В современных системах это вовсе может не понадобится, там кулером управляет UEFI и не допускает того чтобы он крутился быстрее, чем это необходимо. Если остались вопросы, пишите их в комментариях!

Уменьшение шума "железа" в linux
Часто шум вентиляторов и оборотов жесткого диска может мешать и напрягать. Это вполне нормальный и традиционный шум от компьютера. Но, например, у меня на ноутбуке бывают проблемы, когда этот шум мешает смотреть фильм. К счастью, в linux есть хитрые решения для устранения этой проблемы и сведения шума к абсолютному минимуму.

Остановка жесткого диска при просмотре фильма.
Казалось бы, фильм воспроизводится с жесткого диска и обращения к нему во время просмотра неизбежны, но в Linux возможно всё! Вы можете дать "приказ" жесткому диску остановиться после того, как полностью скопируется в кэш ваш фильм, и наслаждаться отличным качеством звука (в зависимости от фильма и источника).
Кэширование всего фильма в ОЗУ
Чтобы вышесказанное осуществилось, необходимо сделать кэширование всего файла фильма в оперативную память (к счастью, «оперативка» не шумит). Нам понадобится проигрыватель mplayer:
mplayer -cache 1000000 путь_до_видео_файла
Эта команда кэширует 1Гб фильма, объёма которого обычно хватает на полнометражный фильм в dvd качестве или около 30 минут в HD 720p. Если ваш файл больше или меньше, подкорректируйте команду для его размера. Теперь после выполнения команды фильм сохранится в кэш и уже не будет запрашиваться с жесткого диска.

Остановка жесткого диска.
Отключить подачу электричества диску до следующего обращения можно командой (от имени root):
hdparm -y /dev/sda
Теперь можно начать смотреть!

Ручное регулирование частоты оборотов кулера.
Кулер крутится, чтобы охладить ваш процессор при нагрузке, но крутится он практически всегда быстрее, чем это необходимо при уровне нагрузки для просмотра фильма или чтения (хотя HD видео довольно сильно использует процессор). Тем не менее, доступна ручная настройка частоты вращения кулера в зависимости от температуры процессора. Для начала необходимо установить пакет lm-sensors из репозитория вашего дистрибутива. После этого запустите калибровщик кулера командой
pwmconfig
Внимательно отвечайте на все вопросы программы! После калибровки результаты сохранятся в файл /etc/fancontrol. При необходимости можно отредактировать этот файл вручную, но безопасность таких действий - никудышная. Для применения новых настроек необходимо запустить службу:
/sbin/fancontrol

// Идея использования команд заимствована из журнала linuxformat. Копи-пейст не использован.

Автор: foobar, дата: 31 марта 2010 , время: 17:41:24 (MSK).
Полезная статья, кэш и правда помогает. Конечно, для такого нужно иметь

2 ГБ оперативки.

Автор: Soft, дата: 31 марта 2010 , время: 20:57:40 (MSK).
как обратно потом подключить жесткий диск?

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

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

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

Автор: Subsanek, дата: 01 апреля 2010 , время: 07:57:13 (MSK).
Диск включится при следующем обращении к нему. Автор: Keks, дата: 28 июня 2010 , время: 20:35:56 (MSK).
hdparm --help вам в помошь, ключь -y переводит диск в режим standby, те до следущего обращения к диску Автор: Ярослав, дата: 13 июля 2010 , время: 00:51:33 (MSK).
Отлично Автор: Igor, дата: 07 октября 2010 , время: 14:43:01 (MSK).
Мой вопрос конечно чайниковый. как установить пакет в консоли? Im-sensors приводит лишь к command not found ((( Автор: Subsanek, дата: 07 октября 2010 , время: 16:02:15 (MSK).
Igor, используйте команду своего пакетного менеджера, например для apt команда будет выглядить так:
apt-get install Im-sensors
(от суперпользователя). Автор: Igor, дата: 07 октября 2010 , время: 16:35:08 (MSK).
выполнить команду получилось, но система пишет "Не удалось найти пакет Im-sensors" Автор: Subsanek, дата: 07 октября 2010 , время: 16:38:14 (MSK).
Igor, проблема в том,что первая буква была заглавная,а все пакеты называются в нижнем регистре.
Правильно:
apt-get install lm-sensors Автор: Igor, дата: 07 октября 2010 , время: 18:20:29 (MSK).
1.я не уловил разницу между первым и вторым вариантами%( вы пишете Im-sensors в обоих случаях. Я через менеджер Синоптек поисках пакет в репозитории, к моему удивлению ничего не нашлось:) возможно проблема в том, что я использую дистрибутив Убунту для нетбуков, возможно ли, что там не предусмотрен этот пакет (Im-sensors) или нет? %)

Автор: Subsanek, дата: 07 октября 2010 , время: 18:25:28 (MSK).
В первом варианте была не маленькая буква l, а большая буква I. Используйте команду
apt-get install lm-sensors

Эта функциональность зависит как от вашего оборудования, так и от программного обеспечения. Если ваше оборудование не поддерживает управление скоростью вращения вентилятора или не отображает их в ОС, очень вероятно, что вы не сможете использовать это решение. Если это так, но программное обеспечение (как ядро) не знает, как его контролировать, вам не повезло.

Но, если все в порядке то мы может приступить к тому, чтобы рассказать вам как управлять кулером в 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 является очень простым. Но, перед эти нужно правильно установить и настроить программное обеспечение.

Введите «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.

Читайте также: