Как я могу контролировать скорость вращения вентилятора компьютера?
В Windows есть замечательная программа под названием Скоростной вентилятор.
Как я могу контролировать скорость вращения вентилятора компьютера?
В Windows есть замечательная программа под названием Скоростной вентилятор.
Эта функциональность зависит как от вашего оборудования, так и от программного обеспечения. Если ваше оборудование не поддерживает регуляторы скорости вращения вентилятора или не отображает их в операционной системе, весьма вероятно, что вы не сможете использовать это решение. Если это так, но программное обеспечение (оно же ядро) не знает, как им управлять, вам не повезло.
Установите пленочные датчики и фанконтроль пакеты.
Конфигурировать пленочные датчики следующим образом:
В терминальном типе sudo sensors-detect
и отвечайте "ДА" на все вопросы "ДА/нет".
(Потенциально это может повредить вашу систему или привести к сбою системы. Для многих систем это безопасно. Нет никакой гарантии, что этот процесс не повредит вашу систему навсегда, я просто думаю, что вероятность такого критического сбоя равна действительно очень низкий. Сохранение всей вашей работы на случай возможных сбоев / зависаний / перезапусков перед обработкой конфигурации системы всегда является хорошей идеей. Если вы чувствуете себя неуверенно, прочтите комментарии и попробуйте выполнить поиск в Интернете и получить некоторый обзор высокого уровня, прежде чем ответить "ДА" на все, возможно, избирательности в ваших ответах все равно будет достаточно)
В конце sensors-detect будет отображен список модулей, которые необходимо загрузить. Введите "да", чтобы датчики обнаруживали, вставьте эти модули в /etc/modules или отредактируйте /etc/modules самостоятельно.
Бежать sudo service kmod start
Это позволит прочитать изменения, внесенные вами в /etc/modules
на шаге 3 и вставьте новые модули в ядро.
sudo service module-init-tools restart
Конфигурировать фанконтроль
sudo pwmconfig
. Этот скрипт остановит каждый вентилятор на 5 секунд, чтобы выяснить, какими вентиляторами можно управлять с помощью какой ручки PWM. После того, как скрипт переберет все вентиляторы, вы сможете настроить, какой вентилятор соответствует какой температуре./etc/fancontrol
и использовать sudo service fancontrol restart
чтобы применить ваши изменения. (В моем случае я установил интервал в 2 секунды.)Устанавливать фанконтроль обслуживание
sudo service fancontrol start
. Это также приведет к автоматическому запуску службы fancontrol при запуске системы.В моем случае /etc/fancontrol
для процессора я использовал:
Настройки для hwmon0/device/pwm2:
(Зависит от hwmon0/device/temp2_input)(Управляет hwmon0/device/fan2_input)
INTERVAL=2 MINTEMP=40 MAXTEMP=60 MINSTART=150 MINSTOP=0 MINPWM=0 MAXPWM=255
и в другой системе это:
INTERVAL=10 DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608 DEVNAME=hwmon1=coretemp hwmon2=nct6779 FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input FCFANS=hwmon2/pwm2=hwmon2/fan2_input MINTEMP=hwmon2/pwm2=49 MAXTEMP=hwmon2/pwm2=83 MINSTART=hwmon2/pwm2=150 MINSTOP=hwmon2/pwm2=15 MINPWM=hwmon2/pwm2=14 MAXPWM=hwmon2/pwm2=255
здесь есть некоторая полезная информация о настройках и о том, что они на самом деле делают
Если у вас есть ThinkPad, есть часть программного обеспечения , называемая thinkfan
это делает именно это. Как очевидно следует из названия, он специально создан для ThinkPads (thinkpad_acpi
).
То thinkfan
программное обеспечение доступно в стандартных репозиториях программного обеспечения ubuntu, но для его настройки требуется несколько шагов.
Вот простое пошаговое руководство:
http://www.lxle.net/forums/discussion/821/how-to-set-up-thinkfan-on-a-lenovo-thinkpad-t430/p1
(который в основном представляет собой переведенную версию этого руководства на немецком языке:http://thinkwiki.de/Thinkfan)
Шаг 1. Установите программное обеспечение thinkfan и датчики:
sudo apt-get install thinkfan lm-sensors
Шаг 2. Убедитесь, что демон управляет вентилятором, отредактировав файл thinkpad.conf:
sudo nano /etc/modprobe.d/thinkfan.conf
добавив следующую строку:
options thinkpad_acpi fan_control=1
Шаг 3. Сделайте так, чтобы демон загружался автоматически при запуске, отредактировав файл:
sudo nano /etc/default/thinkfan
убедитесь, что клавиша "ПУСК" установлена в значение "да", т.Е. должна быть строка с надписью:
START=yes
Шаг 4. Обнаружение датчиков вашего ноутбука:
sudo sensors-detect
и просто выбирайте ответы по умолчанию всякий раз, когда вам будет предложено нажать Enter.
Шаг 5. Загрузите новые модули. Начиная с ubuntu 13.10, это делается с помощью:
sudo service kmod start
в то время как для предыдущих версий, таких как 13.04, вам вместо этого нужно будет сделать:
sudo service module-init-tools start
Шаг 6. Выясните, какие датчики используются:
sensors
(те, которые указывают на 0 градусов, не используются, я не знаю, почему они тоже "обнаружены"). Запомните, какие из них используются.
Шаг 7. Узнайте полные пути этих датчиков:
find /sys/devices -type f -name "temp*_input"
Результатом должен быть список путей типа /sys/devices/...
Шаг 8. Скопируйте и вставьте пути к датчикам в конфигурационный файл /etc/thinkpad.conf. Чтобы сделать это, сначала откройте файл:
sudo nano /etc/thinkfan.conf
Там уже должна быть строка типа
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)
(символ # означает, что эта строка закомментирована). Добавьте строку, начинающуюся с sensor (без символа #), и скопируйте и вставьте свой первый датчик. Повторите это, если у вас более одного датчика. Например, на моей машине вывод на шаге 7 дает
/sys/devices/virtual/hwmon/hwmon0/temp1_input/sys/devices/platform/thinkpad_hwmon/temp3_input/sys/devices/platform/thinkpad_hwmon/temp4_input/sys/devices/platform/thinkpad_hwmon/temp5_input/sys/devices/platform/thinkpad_hwmon/temp6_input/sys/devices/platform/thinkpad_hwmon/temp7_input/sys/devices/platform/thinkpad_hwmon/temp1_input/sys/devices/platform/thinkpad_hwmon/temp8_input/sys/devices/platform/thinkpad_hwmon/temp2_input/sys/devices/platform/coretemp.0/temp4_input/sys/devices/platform/coretemp.0/temp2_input
Те, которые используются на моей машине, находятся в первой и двух последних строках, поэтому я добавил три строки:
sensor /sys/devices/virtual/hwmon/hwmon0/temp1_inputsensor /sys/devices/platform/coretemp.0/temp4_inputsensor /sys/devices/platform/coretemp.0/temp2_input
Шаг 9. Наконец, мы можем установить уровни скорости вентилятора в файле конфигурации. Откройте файл /etc/thinkpad.conf, если он еще не был открыт.
sudo nano /etc/thinkfan.conf
Уровни вентилятора, которые я использую на своем ThinkPad x201, следующие:
(0, 0, 51)(1, 50, 52)(2, 51, 55)(3, 54, 58)(4, 56, 63)(5, 60, 70)(6, 66, 79)(7, 74, 92)(127, 85, 32767)
Последняя строка обеспечивает полную скорость вращения вентилятора (127 = "отключено", т.е. нерегулируемо). Вы можете изменять эти уровни в соответствии с вашими потребностями / пожеланиями, но, ПОЖАЛУЙСТА, БУДЬТЕ ОСТОРОЖНЫ!
Шаг 10. Перезагрузить. Теперь все должно работать. Чтобы проверить, правильно ли работает thinkpad, используйте
sudo thinkfan -n
который запускает thinkfan в подробном режиме. Возможно, вы захотите сначала остановить демона thinkfan:
sudo /etc/init.d/thinkfan stop
Если вы хотите снова запустить демон thinkfan, введите:
sudo /etc/init.d/thinkfan start
Просто для полноты, мой конфигурационный файл /etc/thinkfan.conf:
# IMPORTANT:## To keep your HD from overheating, you have to specify a correction value for# the sensor that has the HD's temperature. You need to do this because# thinkfan uses only the highest temperature it can find in the system, and# that'll most likely never be your HD, as most HDs are already out of spec# when they reach 55 °C.# Correction values are applied from left to right in the same order as the# temperatures are read from the file.## For example:# sensor /proc/acpi/ibm/thermal (0, 0, 10)# will add a fixed value of 10 °C the 3rd value read from that file. Check out# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may# want to add to certain temperatures.# Syntax:# (LEVEL, LOW, HIGH)# LEVEL is the fan level to use (0-7 with thinkpad_acpi)# LOW is the temperature at which to step down to the previous level# HIGH is the temperature at which to step up to the next level# All numbers are integers.## I use this on my T61p:#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)#(0, 0, 55)#(1, 48, 60)#(2, 50, 61)#(3, 52, 63)#(4, 56, 65)#(5, 59, 66)#(7, 63, 32767)# My settings for my ThinkPad X201: (kris)sensor /sys/devices/virtual/hwmon/hwmon0/temp1_inputsensor /sys/devices/platform/coretemp.0/temp4_inputsensor /sys/devices/platform/coretemp.0/temp2_input(0, 0, 51)(1, 50, 52)(2, 51, 55)(3, 54, 58)(4, 56, 63)(5, 60, 70)(6, 66, 79)(7, 74, 92)(127, 85, 32767)
Для нескольких компьютеров Dell вы можете установить пакет i8kutils:
sudo apt install i8kutils
Если у вас есть не протестированный Dell (например, Dell XPS 14z, Dell XPS 15 9550 или даже Alienware M15 R4), вам может потребоваться принудительная загрузка модуля ядра:
sudo modprobe i8k force=1
Если вы хотите управлять вентиляторами, вам может потребоваться следовать более подробному руководству: Вентилятор переключается с полной скорости на выключенную на Dell G5
Установите и настройте пленочные датчики и фанконтроль пакеты:
sudo apt-get install lm-sensors fancontrol
Документация по их настройке доступна на их справочных страницах.
Предполагается, что эта функция обеспечивается BIOS, совместимым с ACPI, но, похоже, большинство производителей материнских плат не утруждают себя соблюдением стандарта.
Вот пример обновленный ответ, основанный на ответ, рекомендующий подумать. но работает с Ubuntu 19.04, а также на других компьютерах, кроме ThinkPads.
Приведенные ниже инструкции применимы к любому ThinkPad, который имеет /proc/acpi/ibm/fan
и /proc/acpi/ibm/thermal
"устаревшие" устройства. Это позволяет избежать необходимости установки lm-sensors
пакет.
Однако вы все равно можете выбрать установку lm-sensors
. Это даст вам больше датчиков температуры и более детальный контроль над вашими вентиляторами, а именно с шагом 256 ШИМ, а не с фиксированными шагами "0-7 и 127" с устаревшими устройствами. Кроме того, поскольку thinkfan
теперь можно работать с lm-sensors
датчики, это больше не относится к компьютерам IBM / Lenovo ThinkPad. Пожалуйста, обратитесь к man thinkfan
для использования этих "расширенных" сенсорных устройств. Кроме того, здесь есть актуальная информация в немецком Thinkwiki.
Установите необходимый пакет:
sudo apt install thinkfan
Добавьте следующую строку в /etc/modprobe.d/thinkfan.conf
:
options thinkpad_acpi fan_control=1
Настройте thinkfan
служба автоматически запускается при запуске системы:
Добавить строку START=yes
к /etc/default/thinkfan
Выполните следующую команду (источник):
sudo systemctl enable thinkfan.service
Приспособиться /etc/thinkfan.conf
с правильными указателями на устройства и желаемые уровни вентилятора. Комментарии там содержат документацию. На любом Thinkpad с устаревшим fan
и thermal
устройства, следующее должно стать хорошей отправной точкой (также должно быть безопасным для жесткого диска, см. Комментарии в файле для получения дополнительной информации). Обратите внимание, что при этом используются новые ключевые слова – те, что в другой ответ теперь они устарели.
tp_fan /proc/acpi/ibm/fantp_thermal /proc/acpi/ibm/thermal(0, 0, 47)(1, 43, 52)(2, 48, 55)(3, 51, 58)(4, 54, 63)(5, 59, 70)(6, 66, 79)(7, 74, 92)(127, 85, 32767)
Чтобы протестировать настройки (после перезагрузки), вы можете выполнить следующие действия:
В одном окне терминала запустите thinkfan
в недемонизированном режиме, чтобы вы могли видеть его сообщения:
sudo service thinkfan stop && sudo thinkfan -n
В другом окне терминала следите за текущими значениями температуры, подавая сигнал на устройство измерения температуры, если оно отличается:
while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
В еще одном окне терминала произведите некоторое нагревание процессора (и прервите его с помощью Ctrl + C в случае, если что-то в управлении температурой не работает должным образом):
sudo apt install stress-ngstress-ng --cpu-1
Попробуйте заглянуть в настройки UEFI (или BIOS setup) вашего компьютера. Там может быть настройка для управления вентилятором, в которую вы можете поместить свой вентилятор в Silent Mode
, Performance Mode
, Full Speed
, Customize
и т.д.
Как получить доступ к настройкам UEFI: Перезагрузите компьютер, и ключ для их ввода, скорее всего, появится в одном из углов (например Press F2 to enter UEFI setup
)
Сценарий, который я запускаю каждые несколько секунд, чтобы мой сервер Dell оставался прохладным и тихим. Обновите get_temp для вашего оборудования.
#!/bin/env python3import osimport jsonMIN_FAN = 5MAX_FAN = 100MIN_TEMP = 50 # fans at min at this tempMAX_TEMP = 80 # fans at max at this tempTEMP_POW = 3 # decrease for cooler server, increase for quiterdef get_temp(): sensors = json.loads(os.popen('/usr/bin/sensors -j').read()) temp0 = sensors["coretemp-isa-0000"]["Package id 0"]["temp1_input"] temp1 = sensors["coretemp-isa-0001"]["Package id 1"]["temp1_input"] return max(temp0, temp1)def determine_fan_level(temp): x = min(1, max(0, (temp - MIN_TEMP) / (MAX_TEMP - MIN_TEMP))) return int(min(MAX_FAN, max(MIN_FAN, pow(x, TEMP_POW)*(MAX_FAN-MIN_FAN) + MIN_FAN)))def set_fan(fan_level): # manual fan control os.system("ipmitool raw 0x30 0x30 0x01 0x00") # set fan level cmd = "ipmitool raw 0x30 0x30 0x02 0xff " + hex(fan_level) os.system(cmd)temp = get_temp()fan = determine_fan_level(temp)print("temp", temp, "fan", fan)set_fan(fan)
В Linux fancontrol
настраивается с помощью pwmconfig
. Используйте датчики наблюдения
для наблюдения за датчиками при загрузке процессора и графического процессора. Используйте эти значения на холостом ходу и при полной нагрузке, чтобы установить MINTEMP
и MAXTEMP
соответственно с INTERVAL=1
. Это увеличивает количество ваших поклонников в режиме реального времени по мере увеличения нагрузки. Это наиболее активное охлаждение, обеспечивающее основу для дальнейшей настройки. Запустите pwmconfig
один раз, а затем отредактируйте /etc/fancontrol
напрямую. Запускайте `перезапуск службы sudo fancontrol" после каждой настройки.