Как контролировать скорость вентилятора?

Как я могу контролировать скорость вентилятора компьютера?

В Windows есть замечательная программа под названием SpeedFan .

233
задан 3 February 2017 в 22:49

6 ответов

Замечание перед началом:

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


  1. Установите пакеты lm-сенсоров и fancontrol.

  2. Настройте lm-датчики следующим образом:

    1. В типе клеммы sudo sensor-detect и отвечайте YES на все вопросы YES/ no.
      (Возможно, это может повредить Вашу систему или привести к ее аварийному завершению. Для многих систем это безопасно. Нет никакой гарантии, что этот процесс не повредит вашу систему навсегда, я просто думаю, что вероятность такого критического сбоя действительно очень низкая . Сохранение всей вашей работы для возможных сбоев/заморозок/перезагрузок перед конфигурацией системы - это всегда хорошая идея. Если вы чувствуете себя неуверенно, прочитайте комментарии и попробуйте поискать в интернете и получить некоторый обзор высокого уровня, прежде чем YES-все, может быть, избирательности с вашими YES-ами все равно будет достаточно)

    2. В конце сенсоров-обнаружения будет отображен список модулей, которые должны быть загружены. Введите "yes", чтобы датчики-детектор вставлял эти модули в /etc/modules, или отредактируйте /etc/modules самостоятельно.

    3. Запустите sudo service kmod start Это зачитает изменения, которые вы внесли в /etc/modules в шаге 3, и вставьте новые модули в ядро.

      • Примечание: Если вы используете Ubuntu 12.04 или ниже, эта команда 3-го шага должна быть заменена на sudo service module-init-tools restart
  3. Configure fancontrol

    1. In terminal type sudo pwmconfig . Этот скрипт остановит каждый вентилятор на 5 секунд, чтобы узнать, какими вентиляторами можно управлять ШИМ. После того, как скрипт пройдет через все вентиляторы, вы можете настроить, какой вентилятор соответствует какой температуре.
    2. Вы должны будете указать, какие датчики использовать. Это немного сложно. Если у вас только один вентилятор, убедитесь, что вы используете температурный датчик для вашего сердечника, на котором будет основана скорость управления вентилятором.
    3. Просмотрите подсказки и сохраните изменения в месте по умолчанию.
    4. Выполните настройки для точной настройки /etc/fancontrol и используйте sudo service fancontrol restart, чтобы применить ваши изменения. (В моем случае я установил интервал в 2 секунды.)
  4. Настройте функцию управления вентилятором

    1. Запустите регулятор . В моем случае /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
      

      [здесь] [1] полезная информация о настройках и что они на самом деле делают

      [1]: https://www.systutorials.com/docs/linux/man/8-fancontrol/
      
176
ответ дан 3 February 2017 в 22:49

Для нескольких компьютеров Dell вы можете установить пакет i8kutils:

sudo apt install i8kutils

Если у вас непроверенный Dell (например, мой Dell XPS 14z), вам может потребоваться принудительная загрузка модуля ядра:

sudo modprobe i8k force=1
19
ответ дан 3 February 2017 в 22:49

Установите и сконфигурируйте пакеты lm-sensors и fancontrol:

sudo apt-get install lm-sensors fancontrol

Документация по их настройке доступна на их man-страницах.

Эта функция должна предоставляться ACPI-совместимым BIOS, но кажется, что большинство производителей материнских плат не удосуживаются следовать стандарту.

10
ответ дан 3 February 2017 в 22:49

Если у вас есть 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 установлена на "да", т.е. должна быть строка с надписью:

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) 

(#-символ означает, что эта строка закомментирована). Добавьте строку, начинающуюся с сенсора (без #-символа) и скопируйте-вставьте первый сенсор. Повторите это, если у вас более одного датчика. Например, на моей машине вывод на шаге 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_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /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 configuration file is:

# 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_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /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)
48
ответ дан 3 February 2017 в 22:49

Попробуйте поискать в настройках UEFI (или BIOS) вашего ПК. Там может быть настройка для управления вентилятором, где вы можете перевести вентилятор в бесшумный режим , режим производительности , на полную скорость , настроить , и т. д.

Как получить доступ к настройкам UEFI : перезагрузите компьютер, и клавиша для их ввода, скорее всего, появится в одном из углов (например, Нажмите F2, чтобы войти в настройки UEFI )

ASRock UEFI setup for fan control

3
ответ дан 3 February 2017 в 22:49

Вот обновленный ответ , основанный на ответе , рекомендующий thinkfan , но работающий с Ubuntu 19.04, а также на других компьютерах, кроме ThinkPads.

​​1. Настройка

Приведенные ниже инструкции применимы к любому ThinkPad с устаревшими устройствами / proc / acpi / ibm / fan и / proc / acpi / ibm / Thermal . Это позволяет избежать установки пакета lm-сенсоры .

Однако вы все равно можете выбрать установку lm-сенсоров . Это даст вам больше датчиков температуры и более точный контроль над вашими вентиляторами, а именно с 256 шагами PWM, а не с фиксированными шагами «0-7 и 127» с устаревшими устройствами. Кроме того, поскольку thinkfan теперь может работать с lm-сенсорами сенсорами, он больше не является специфическим для компьютеров IBM / Lenovo ThinkPad. Пожалуйста, обратитесь к man thinkfan для использования этих "расширенных" сенсорных устройств. Кроме того, актуальная информация имеется в немецком Thinkwiki .

  1. Установите необходимый пакет:

     sudo apt install thinkfan
     
  2. Добавьте следующую строку в /etc/modprobe.d/thinkfan.conf :

     options thinkpad_acpi fan_control = 1
     
  3. Настройте службу thinkfan для автоматического запуска при запуске системы:

    1. Добавьте строку START = yes в / etc / default / thinkfan

    2. Выполните следующая команда ( источник ):

       sudo systemctl enable thinkfan.service
       
  4. Адаптируйте /etc/thinkfan.conf с правильными указателями на устройства и уровни вентилятора, которые вы хотите. Комментарии содержат документацию. На любом Thinkpad с устаревшими вентиляторами и тепловыми устройствами следующее должно стать хорошей отправной точкой (также должно быть безопасным для жесткого диска, см. Комментарии в файле для получения дополнительной информации) . Обратите внимание, что здесь используются новые ключевые слова - те, что в другом ответе , теперь устарели.

     tp_fan / proc / acpi / ibm / fan
    tp_thermal / proc / acpi / ibm / термический
    
     (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)
     

2. Тест

Чтобы проверить настройку (после перезагрузки), вы можете сделать следующее:

  • В одном окне терминала запустите thinkfan в недемонизированном режиме, чтобы вы могли видеть его сообщения:

      ] служба sudo thinkfan stop && sudo thinkfan -n
     
  • В другом окне терминала следите за текущими значениями температуры, снабжая устройство температурным датчиком, если оно отличается:

     while true;  спать 1;  cat / proc / acpi / ibm / термический;  сделанный
     
  • В еще одном окне терминала нагрейте ЦП (и прервите его, нажав Ctrl + C , если что-то в управлении температурой не работает должным образом):

     sudo apt install stress-ng
    стресс-нг --cpu-1
     
6
ответ дан 22 November 2019 в 22:48

Другие вопросы по тегам:

Похожие вопросы: