Làm thế nào để kiểm soát tốc độ quạt?


178

Làm cách nào để kiểm soát tốc độ quạt của máy tính?

Trên Windows có một chương trình tuyệt vời gọi là SpeedFan .


1
Tôi đặt giải pháp cron đơn giản cho thẻ ATI tại đây Askubfox.com/a/875241/375427
Pavel Niedoba

1
Trên linux, fancontrolđược cấu hình bằng pwmconfig. Sử dụng watch sensorsđể quan sát các cảm biến dưới tải CPU và GPU. Sử dụng các giá trị đó ở chế độ chờ và tải đầy đủ để đặt MINTEMPMAXTEMPtương ứng, với INTERVAL=1. Điều này làm tăng lượng người hâm mộ của bạn trong thời gian thực khi tải tăng. Đây là cách làm mát tích cực nhất, cung cấp đường cơ sở để điều chỉnh thêm. Chạy pwmconfigmột lần, và sau đó chỉnh sửa /etc/fancontroltrực tiếp. Chạy sudo service fancontrol restartsau mỗi chỉnh.
Đaminh Cerisano

Câu trả lời:


149

Lưu ý trước khi bắt đầu:

Chức năng này phụ thuộc vào cả phần cứng và phần mềm của bạn. Nếu phần cứng của bạn không hỗ trợ điều khiển tốc độ quạt hoặc không hiển thị chúng cho HĐH, rất có khả năng bạn không thể sử dụng giải pháp này. Nếu có, nhưng phần mềm (còn gọi là kernel) không biết cách kiểm soát nó, bạn sẽ không gặp may.


  1. Cài đặt các gói cảm biến lmfancontrol .
  2. Cấu hình cảm biến lm

    1. Trong loại thiết bị đầu cuối sudo sensors-detectvà trả lời CÓ cho tất cả CÓ / không có câu hỏi.
      (Có khả năng, điều này có thể làm hỏng hệ thống của bạn hoặc gây ra sự cố hệ thống. Đối với nhiều hệ thống, nó an toàn. Không có gì đảm bảo rằng quy trình này sẽ không làm hỏng hệ thống của bạn vĩnh viễn, tôi chỉ nghĩ rằng khả năng lỗi nghiêm trọng như vậy thực sự rất thấp Lưu tất cả công việc của bạn cho các sự cố / đóng băng / khởi động lại cuối cùng trước khi xử lý cấu hình hệ thống luôn là ý tưởng tốt. Nếu bạn cảm thấy không chắc chắn, hãy đọc các bình luận và cố gắng tìm kiếm trên web và nhận được một số tổng quan cấp cao trước khi CÓ mọi thứ, có thể là chọn lọc với YES-es của bạn vẫn sẽ đủ)
    2. Khi kết thúc phát hiện cảm biến, một danh sách các mô-đun cần được tải sẽ được hiển thị. Nhập "có" để có cảm biến - phát hiện chèn các mô-đun đó vào / etc / mô-đun hoặc tự chỉnh sửa / etc / mô-đun.
    3. Chạy đi sudo service module-init-tools restart. Điều này sẽ đọc các thay đổi bạn đã thực hiện /etc/modulesở bước 3 và chèn các mô-đun mới vào kernel.
      • Lưu ý : Nếu bạn đang chạy Ubuntu 13.04 trở lên, lệnh bước 3 này sẽ được thay thế bằng sudo service kmod start.
  3. Cấu hình fancontrol

    1. Trong loại thiết bị đầu cuối sudo pwmconfig. Kịch bản này sẽ dừng mỗi quạt trong 5 giây để tìm ra quạt nào có thể được điều khiển bằng cách xử lý PWM. Sau khi vòng lặp script thông qua tất cả các quạt, bạn có thể định cấu hình quạt tương ứng với nhiệt độ nào.
    2. Bạn sẽ phải chỉ định những cảm biến sẽ sử dụng. Đây là một chút khó khăn. Nếu bạn chỉ có một quạt, hãy đảm bảo sử dụng cảm biến nhiệt độ cho lõi của bạn để căn cứ vào tốc độ fancontrol.
    3. Chạy qua các lời nhắc và lưu các thay đổi vào vị trí mặc định.
    4. Thực hiện điều chỉnh để tinh chỉnh /etc/fancontrolvà sử dụng sudo service fancontrol restartđể áp dụng các thay đổi của bạn. (Trong trường hợp của tôi, tôi đặt khoảng thời gian là 2 giây.)
  4. Thiết lập dịch vụ fancontrol

    1. Chạy đi sudo service fancontrol start. Điều này cũng sẽ làm cho dịch vụ fancontrol chạy tự động khi khởi động hệ thống.

Trong trường hợp của tôi /etc/fancontrolcho CPU, tôi đã sử dụng:

Cài đặt cho hwmon0 / thiết bị / pwm2:
(Tùy thuộc vào hwmon0 / thiết bị / temp2_input) (Điều khiển hwmon0 / thiết bị / fan2_input)

INTERVAL=2
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 

và trên một hệ thống khác, đó là:

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

Dưới đây là một số thông tin hữu ích về cài đặt và những gì họ thực sự làm


111
Tôi đã cố làm theo hướng dẫn của bạn, nhưng bị kẹt ở bước ba với lỗi này: / usr / sbin / pwmconfig: Không có mô-đun cảm biến có khả năng pwm nào được cài đặt
tamale

6
Tôi gặp vấn đề tương tự với pwmconfig cho đến khi tôi chạy sudo cảm biến-phát hiện
Gearoid Murphy

5
Phải làm gì nếu cảm biến sudo-phát hiện không đi kèm với bất kỳ cảm biến nào? -> Xin lỗi, không có cảm biến nào được phát hiện. Hệ thống của bạn không có cảm biến hoặc chúng không được hỗ trợ hoặc chúng được kết nối với bộ điều hợp I2C hoặc SMBus không được hỗ trợ. Nếu bạn tìm ra chip nào trên bảng của mình, hãy kiểm tra lm-sensors.org/wiki/Devices để biết trạng thái trình điều khiển.
H3R3T1K

5
Nếu bạn gặp sự cố, hãy chắc chắn kiểm tra thông báo lỗi của bạn. Trong trường hợp của tôi, những thay đổi gần đây đã ngăn tôi tải trình điều khiển cần thiết và tôi phải thêm acpi_enforce_resources=laxvào các tùy chọn kernel để lấy lại chức năng cũ. Xem thêm: goo.gl/tUcr36
bukzor 23/12/13

19
Tôi đã thử điều này và tôi không thể nhận được gì hơn ngoài sudo pwmconfig, bởi vì tôi nhận được: "Không có mô-đun cảm biến có khả năng pwm nào được cài đặt". Đây là sau khi lệnh phát hiện cảm biến tìm thấy 'Cảm biến nhiệt kỹ thuật số Intel'. Tôi cũng đã thử tham số kernel đó. Bất cứ ai có thể đề nghị một giải pháp?
Sman789

44

Nếu bạn sở hữu một chiếc ThinkPad , có một phần mềm được gọi là thinkfanchính xác. Như tên rõ ràng cho thấy, nó được sản xuất riêng cho ThinkPads ( thinkpad_acpi).

Phần thinkfanmềm này có sẵn trong kho phần mềm ubfox tiêu chuẩn, nhưng nó yêu cầu một vài bước để định cấu hình.

Đây là một hướng dẫn từng bước dễ dàng:

http://staff.science.uva.nl/~kholshei/thinkfan_guide/

(về cơ bản là phiên bản dịch của hướng dẫn tiếng Đức này: http://thinkwiki.de/Thinkfan )


Thông tin liên quan từ bài viết:

Bước 1. Cài đặt phần mềm thinkfan và các cảm biến:

sudo apt-get install thinkfan lm-sensors

Bước 2. Đảm bảo rằng trình nền điều khiển quạt bằng cách chỉnh sửa tệp thinkpad.conf:

sudo nano /etc/modprobe.d/thinkfan.conf

bằng cách thêm dòng sau:

options thinkpad_acpi fan_control=1

Bước 3. Thực hiện tải daemon tự động khi khởi động bằng cách chỉnh sửa tệp:

sudo nano /etc/default/thinkfan

đảm bảo rằng phím START được đặt thành có, tức là phải có một dòng có nội dung:

START=yes

Bước 4. Phát hiện cảm biến của máy tính xách tay của bạn:

sudo sensors-detect

và chỉ chọn câu trả lời mặc định bất cứ khi nào bạn được nhắc bằng cách nhấn Enter.

Bước 5. Tải các module mới. Từ Ubuntu 13.10, điều này được thực hiện bởi:

sudo service kmod start

trong khi đối với các phiên bản trước như 13.04, thay vào đó bạn sẽ cần phải làm:

sudo service module-init-tools start

Bước 6. Chỉ ra các cảm biến đang được sử dụng:

sensors

(những cái chỉ ra 0 độ không được sử dụng, tôi không biết tại sao những cái đó cũng bị "phát hiện"). Hãy nhớ những cái đang được sử dụng.

Bước 7. Tìm hiểu đường dẫn đầy đủ của các cảm biến này:

find /sys/devices -type f -name "temp*_input"

Đầu ra phải là một danh sách các đường dẫn như / sys / thiết bị / ...

Bước 8. Sao chép-dán các đường dẫn đến các cảm biến vào tệp cấu hình /etc/thinkpad.conf. Để làm điều này, trước tiên hãy mở tệp:

sudo nano /etc/thinkfan.conf

Nên có một dòng như

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 

(# -symbol có nghĩa là dòng đó được nhận xét). Thêm một dòng bắt đầu bằng cảm biến (không có # -symbol) và sao chép-dán vào cảm biến đầu tiên của bạn. Lặp lại điều này nếu bạn có nhiều hơn một cảm biến. Ví dụ, trên máy của tôi, đầu ra ở bước 7 mang lại

/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 

Những cái được sử dụng trong máy của tôi là những cái ở hai dòng đầu tiên và hai dòng cuối cùng, vì vậy tôi đã thêm ba dòng:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input 

Bước 9. Cuối cùng, chúng ta có thể đặt mức tốc độ quạt trong tệp cấu hình. Mở tệp /etc/thinkpad.conf nếu nó chưa được mở.

sudo nano /etc/thinkfan.conf

Các cấp độ quạt tôi sử dụng trên ThinkPad x201 của tôi là:

(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) 

Dòng cuối cùng đảm bảo tốc độ quạt đầy đủ (127 = "thảnh thơi" tức là không được kiểm soát). Bạn có thể sử dụng các cấp độ này để phù hợp với nhu cầu / mong muốn của mình, nhưng HÃY CẨN THẬN!

Bước 10. Khởi động lại. Mọi thứ nên hoạt động ngay bây giờ. Để kiểm tra xem thinkpad có chạy chính xác không, hãy sử dụng

sudo thinkfan -n

mà bắt đầu thinkfan trong chế độ dài dòng. Bạn có thể muốn dừng daemon thinkfan trước:

sudo /etc/init.d/thinkfan stop

Nếu bạn muốn bắt đầu lại thinkfan daemon, gõ:

sudo /etc/init.d/thinkfan start

Để hoàn tất, tệp cấu hình /etc/thinkfan.conf của tôi là:

# 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)

2
Một nhận xét: bạn muốn có sự chồng chéo lớn hơn của các giá trị nhiệt độ như trong bảng đã nhận xét. Đặc biệt là trong phạm vi 45-55. Nếu không, tốc độ quạt tiếp tục lật. Điều đó rất đáng lo ngại. (Tiếng ồn của quạt liên tục không làm phiền quá nhiều như tiếng ồn dao động.)
HongboZhu 6/2/2015

1
Chúng tôi (cộng đồng linux) thực sự hút UX. :( Đặt tốc độ quạt không phải là quá trình 10 bước.
Alexander

2
@Alexander Nếu bạn cảm thấy mạnh mẽ về điều này, bạn có thể tự do viết và duy trì một chương trình nhỏ để tự động hóa quá trình này.
Kris

1
@Kris Tôi muốn có xu hướng sửa đổi chương trình gốc để không có quá trình cấu hình vô nghĩa như vậy. Than ôi, tôi không có thinkpad, tôi chỉ lướt qua bài đăng này để tìm kiếm các tùy chọn điều khiển quạt có sẵn ngoài đó.
Alexander

/etc/modprobe.d/thinkfan.conf không tồn tại trong Ubuntu 14.04 của tôi. Gì bây giờ?
Youda008

14

Đối với một số máy tính Dell, bạn có thể cài đặt gói i8kutils:

sudo apt install i8kutils

Nếu bạn có một Dell chưa được thử nghiệm (như Dell XPS 14z của tôi), bạn có thể phải buộc tải mô-đun hạt nhân:

sudo modprobe i8k force=1

2
Tôi có Dell XPS 14 L421X. <code> cảm biến </ code> không hiển thị quạt. Sau khi cài đặt gói i8kutils, tôi nhận được bộ cảm biến coretemp-isa-0000 Bộ điều hợp: Bộ điều hợp ISA Id vật lý 0: + 54.0 ° C (cao = + 87.0 ° C, crit = + 105.0 ° C) Lõi 0: + 50.0 ° C (cao = + 87.0 ° C, crit = + 105.0 ° C) Lõi 1: + 52.0 ° C (cao = + 87.0 ° C, crit = + 105.0 ° C) Bộ chuyển đổi i8k-virtual-0: Thiết bị ảo Quạt phải: CPU 0 RPM: + 55,0 ° C
philcolbourn

Điều này có làm việc cho hp không?
Người chơi bất tử

1
@ người chơi bất tử, tôi nghĩ nó sẽ không. Mô-đun hạt nhân được thiết kế đặc biệt cho các máy Dell.
morhook

Có thể thêm, rằng đối với Apple có macfanctldmbpfanvà đối với ThinkPad, cóthinkfan
rubo77

7

Cài đặt và cấu hình các gói cảm biến lmfancontrol :

sudo apt-get install lm-sensors fancontrol

Tài liệu để cấu hình chúng có sẵn trên các trang man của họ.

Đây là một chức năng được cho là do BIOS tuân thủ ACPI cung cấp, nhưng có vẻ như hầu hết các nhà cung cấp bo mạch chủ không bận tâm tuân theo tiêu chuẩn.


12
Bạn có thể cung cấp hướng dẫn chi tiết hơn về cách cài đặt và sử dụng chúng?
Stefano Palazzo

Bạn có thể tìm thấy điều đó trong trang man, hoặc tại www.lm-sensors.org.
psusi

40
Tôi biết, tôi chỉ nghĩ câu trả lời này có thể tốt hơn :)
Stefano Palazzo

Liên kết mà @psusi đưa ra không hoạt động, liên kết mới có ở đây: github.com/groeck/lm-sensors
Svetlana Belkin

1
Tôi nghĩ rằng bạn có một tên người dùng sai chính tả.
markroxor

3

Đây là phiên bản cập nhật cho câu trả lời đề xuất thinkfan , hoạt động với Ubuntu 19.04.

Thiết lập

Các hướng dẫn bên dưới áp dụng cho mọi ThinkPad có thiết bị /proc/acpi/ibm/fan/proc/acpi/ibm/thermal"di sản". Điều này tránh phải cài đặt lm-sensorsgói.

Tuy nhiên, bạn vẫn có thể cài đặt lm-sensorsđể xem cảm biến nhiệt độ nhiều hơn và để có được quyền kiểm soát nhiều hạt mịn hơn fan của bạn (cụ thể là, trong 256 bước PWM chứ không phải là bước cố định "0-7 và 127" với các thiết bị di sản. Ngoài ra, vì thinkfanhiện nay có thể hoạt động với các lm-sensorscảm biến, nó không còn dành riêng cho máy tính ThinkPad của IBM / Lenovo. Tham khảo man thinkfancách sử dụng các thiết bị cảm biến "mở rộng" này. Ngoài ra, có thông tin cập nhật trong Thinkwiki của Đức .

  1. Cài đặt gói yêu cầu:

    sudo apt-get install thinkfan
    
  2. Thêm dòng sau vào /etc/modprobe.d/thinkfan.conf:

    options thinkpad_acpi fan_control=1
    
  3. Định cấu hình thinkfandịch vụ để bắt đầu tự động khi khởi động hệ thống:

    1. Thêm một dòng START=yesvào/etc/default/thinkfan

    2. Thực hiện lệnh sau ( nguồn ):

      sudo systemctl enable thinkfan.service
      
  4. Thích ứng /etc/thinkfan.confvới các con trỏ phù hợp với thiết bị và mức quạt bạn muốn. Các ý kiến ​​ở đó cung cấp tài liệu. Trên bất kỳ Thinkpad nào có quạt kế thừa và các thiết bị nhiệt, phần sau đây sẽ cung cấp một điểm khởi đầu tốt (cũng nên an toàn cho đĩa cứng, xem các bình luận trong tệp để biết thêm thông tin). Lưu ý rằng điều này sử dụng các từ khóa mới - những từ trong câu trả lời khác ở trên không được dùng nữa.

    tp_fan /proc/acpi/ibm/fan
    tp_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) 
    

Kiểm tra

Để kiểm tra thiết lập của bạn (sau khi khởi động lại), bạn có thể làm như sau:

  • Trong một cửa sổ đầu cuối, chạy thinkfanở chế độ không có daemon để bạn có thể thấy các thông báo của nó:

    sudo service thinkfan stop && sudo thinkfan -n
    
  • Trong một cửa sổ đầu cuối khác, hãy theo dõi các giá trị nhiệt độ hiện tại, cung cấp thiết bị thăm dò nhiệt độ của bạn nếu khác:

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
    
  • Trong một cửa sổ đầu cuối khác, tạo một chút nhiệt trong CPU (và ngắt nó với Ctrl+ Ctrong trường hợp một cái gì đó trong quản lý nhiệt không hoạt động như mong đợi):

    sudo apt install stress-ng
    stress-ng --cpu-1
    

1
Tuyệt vời. Điều này đã giải quyết nó cho T490 của tôi với Pop_OS 19.04. Quạt vẫn bật, nhưng không phải toàn bộ thời gian.
Nitai

1
Các thiết bị ThinkPad mới hơn không có /proc/acpi/ibm/thermal, vì vậy cần phải thực hiện thêm một số công việc cho trường hợp đó (được liệt kê một cách thuận tiện trên trang ThinkWiki tuyệt vời của Đức). Tôi dường như đã làm cho nó hoạt động cho tôi, vì vậy tôi có thể cập nhật câu trả lời của bạn hoặc tạo một câu trả lời khác. Cảm ơn!
Vách đá

1

Hãy thử tìm kiếm trong thiết lập UEFI (hoặc thiết lập BIOS) của PC. Có thể có một thiết lập cho điều khiển quạt, nơi bạn có thể đặt quạt của bạn vào Silent Mode, Performance Mode, Full Speed, Customizevv

Cách truy cập cài đặt UEFI : Khởi động lại PC của bạn và phím để nhập chúng có thể sẽ hiển thị ở một trong các góc (ví dụ Press F2 to enter UEFI setup)

Thiết lập ASRock UEFI để điều khiển quạt


Đây là AskUbfox không phải AskUEFI :)
Maarten
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.