ファンの速度を制御する方法は?


178

コンピューターのファン速度を制御するにはどうすればよいですか?

WindowsにはSpeedFanと呼ばれる素晴らしいプログラムがあります。


1
ここにATIカードの簡単なcronソリューションをaskubuntu.com/a/875241/375427
Pavel Niedoba

1
Linuxでは、fancontrolを使用して構成されますpwmconfigwatch sensorsCPUおよびGPUの負荷下でセンサーを観察するために使用します。アイドルおよび全負荷でこれらの値を使用して設定しMINTEMPMAXTEMPそれぞれでを使用しINTERVAL=1ます。これにより、負荷が増加するにつれてリアルタイムでファンが増加します。これは最もアクティブな冷却であり、さらに微調整するためのベースラインを提供します。pwmconfig一度実行してから、/etc/fancontrol直接編集 します。sudo service fancontrol restart各調整後に実行します。
ドミニクチェリサーノ

回答:


149

開始する前の注意:

この機能は、ハードウェアとソフトウェアの両方に依存します。ハードウェアがファン速度制御をサポートしていないか、OSに表示しない場合、このソリューションを使用できなかった可能性が非常に高くなります。それはするが、ソフトウェア(カーネル)がそれを制御する方法を知らない場合、あなたは運がありません。


  1. lm-sensorsおよびfancontrolパッケージをインストールします。
  2. lm-sensorsを構成する

    1. ターミナルタイプでsudo sensors-detect、すべてのYES / NO質問にYESと答えます。
      (潜在的に、これはあなたのシステムや原因のシステムクラッシュを損傷する可能性があります。多くのシステムでは、それが安全である。このプロセスは永久にあなたのシステムを損傷しないという保証はありませんが、私はちょうどそのような重大な障害が発生する可能性があると考えて本当に低いですシステム構成を処理する前に、すべての作業を最終的なクラッシュ/フリーズ/再起動のために保存することは常に良い考えです。 YES-esを選択するだけで十分です)
    2. sensors-detectの最後に、ロードする必要のあるモジュールのリストが表示されます。「yes」と入力して、sensors-detectがそれらのモジュールを/ etc / modulesに挿入するか、/ etc / modulesを自分で編集します。
    3. を実行しますsudo service module-init-tools restart。これにより/etc/modules、ステップ3で行った変更が読み取られ、新しいモジュールがカーネルに挿入されます。
      • :Ubuntu 13.04以降を実行している場合、この3番目のステップのコマンドはに置き換える必要がありますsudo service kmod start
  3. ファン制御を構成する

    1. ターミナルタイプでsudo pwmconfig。このスクリプトは、各ファンを5秒間停止して、どのPWMハンドルでどのファンを制御できるかを調べます。スクリプトがすべてのファンをループした後、どのファンがどの温度に対応するかを構成できます。
    2. 使用するセンサーを指定する必要があります。これは少し注意が必要です。ファンが1つだけの場合は、コアに温度センサーを使用して、ファン制御速度の基準にしてください。
    3. プロンプトを実行し、変更をデフォルトの場所に保存します。
    4. 微調整するために調整を/etc/fancontrol行いsudo service fancontrol restart、変更を適用するために使用します。(私の場合、間隔を2秒に設定します。)
  4. ファン制御サービスをセットアップする

    1. を実行しますsudo service fancontrol start。これにより、システムの起動時にfancontrolサービスが自動的に実行されます。

私の/etc/fancontrolCPUの場合、私は使用しました:

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

ここに、設定とそれらが実際に行うことに関するいくつかの有用な情報があります


111
私はあなたのガイドに従うことを試みたが、このエラーでステップ3で捕まってしまったします。/ usr / sbin / pwmconfig:なしPWM対応のセンサモジュールはありませんインストール
タマレ

6
私はsudoのセンサは、検出走ったまで、私はpwmconfigと同じ問題を抱えていた
Gearoidマーフィーを

5
sudo sensor-detectでセンサーが表示されない場合はどうすればよいですか?->申し訳ありませんが、センサーは検出されませんでした。システムにセンサーがないか、サポートされていないか、サポートされていないI2CまたはSMBusアダプターに接続されています。ボード上にあるチップを見つけたら、lm-sensors.org / wiki / Devicesでドライバーのステータスを確認してください。
H3R3T1K

5
問題がある場合は、必ずdmesgでエラーメッセージを確認してください。私の場合、最近のカーネルの変更により必要なドライバーをロードできなかっacpi_enforce_resources=laxたため、古いオプションを元に戻すためにカーネルオプションに追加する必要がありました。参照:goo.gl/tUcr36
bukzor

19
私はこれを試しましたが、「pwm対応のセンサーモジュールがインストールされていません」という理由でsudo pwmconfigを取得できません。これは、sensors-detectコマンドが「Intelデジタル熱センサー」を検出した後です。また、そのカーネルパラメーターを試しました。誰でも解決策を提案できますか?
Sman789 14年

44

ThinkPadを所有している場合、thinkfanまさにこれを実行するソフトウェアがあります。名前から明らかなように、ThinkPad(thinkpad_acpi)専用に作られています。

このthinkfanソフトウェアは、標準のubuntuソフトウェアリポジトリで使用できますが、設定するにはいくつかの手順が必要です。

簡単なステップバイステップガイドを次に示します。

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

(これは基本的にこのドイツ語ガイドの翻訳版です: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に設定されていることを確認します。つまり、次の行があるはずです。

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 

私のマシンで使用されているのは、最初と最後の2行の行なので、次の3行を追加しました。

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構成ファイルは次のとおりです。

# 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
1つのコメント:コメントアウトされた表のように、温度値のより大きなオーバーラップが必要です。特に45〜55の範囲です。そうしないと、ファンの速度が反転し続けます。それは非常に不安です。(一定のファンノイズは変動ノイズほど邪魔しません。)
HongboZhu

1
私たち(Linuxコミュニティ)は本当にUXを嫌っています。:(ファン速度を設定すると、10段階のプロセスをすべきではない。
アレクサンダー

2
@Alexanderこれについて強く感じている場合、このプロセスを自動化する小さなプログラムを自由に作成および保守できます。
クリス

1
@Kris私は、このような無意味な構成プロセスを持たないように、元のプログラムを修正する傾向があります。悲しいかな、私はthinkpadを持っていません、私はそこに利用可能なthrファン制御オプションを探しているこの投稿をただ通り過ぎていました。
アレクサンダー

/etc/modprobe.d/thinkfan.conf Ubuntu 14.04には存在しません。今何?
Youda008

14

いくつかのDellコンピューターの場合、i8kutilsパッケージをインストールできます。

sudo apt install i8kutils

テストされていないDell(私のDell XPS 14zなど)がある場合は、カーネルモジュールのロードを強制する必要があります。

sudo modprobe i8k force=1

2
Dell XPS 14 L421Xを使用しています。<code> sensors </ code>にはファンがいません。i8kutilsパッケージをインストールすると、センサーが取得されますcoretemp-isa-0000アダプター:ISAアダプター物理id 0:+ 54.0°C(高= + 87.0°C、crit = + 105.0°C)コア0:+ 50.0°C(高= + 87.0°C、crit = + 105.0°C)コア1:+ 52.0°C(最高= + 87.0°C、crit = + 105.0°C)i8k-virtual-0アダプター:仮想デバイス右ファン:0 RPM CPU: + 55.0°C-
フィルコルボーン

これはhpで機能しますか?
不滅のプレイヤー

1
@ immortal-player、そうではないと思います。カーネルモジュールは、Dellマシン専用に設計されています。
morhook

たぶんアップルのためにそこにあることを、追加macfanctldおよびmbpfanおよびThinkPadのために、ありますthinkfan
rubo77

7

lm-sensorsおよびfancontrolパッケージをインストールして構成します。

sudo apt-get install lm-sensors fancontrol

それらを設定するためのドキュメントは、それらのマニュアルページで利用可能です。

これは、ACPI準拠のBIOSによって提供されるはずの機能ですが、ほとんどのマザーボードベンダーは標準に従うことを気にしていないようです。


12
それらをインストールして使用する方法について、より詳細な指示を提供できますか?
ステファノパラッツォ

これは、manページまたはwww.lm-sensors.orgで見つけることができます。
-psusi

40
私は知っている、私はちょうどこの答えが良いかもしれないと思った:)
ステファノパラッツォ

@psusiが提供したリンクは機能しません。新しいリンクはこちらです:github.com/groeck/lm-sensors
Svetlana Belkin

1
ユーザー名のつづりが間違っていると思います。
マークロクサー

3

Ubuntu 19.04で動作するthinkfanを推奨する回答の更新版を以下に示します。

セットアップ

以下の手順は/proc/acpi/ibm/fan/proc/acpi/ibm/thermal「レガシー」デバイスを搭載したすべてのThinkPadに適用されます。これにより、lm-sensorsパッケージをインストールする必要がなくなります。

しかし、あなたはまだインストールすることができlm-sensors、より温度センサーを参照して、レガシーデバイスとあなたのファン(すなわち、256のPWMステップではなく、一定の手順で「0-7および127」をよりきめ細かく制御を取得する。また、以来、thinkfan今で作業することができlm-sensors、センサ、それはもはやIBM / LenovoのThinkPadのための具体的ではありません。を参照してくださいman thinkfanこれらの「拡張」センサデバイスを使用する。また、最新の情報があるドイツThinkwikiでは

  1. 必要なパッケージをインストールします。

    sudo apt-get install thinkfan
    
  2. /etc/modprobe.d/thinkfan.confに次の行を追加します。

    options thinkpad_acpi fan_control=1
    
  3. thinkfanシステムの起動時に自動的に開始するようにサービスを構成します。

    1. START=yesを追加します/etc/default/thinkfan

    2. 次のコマンドを実行します(source):

      sudo systemctl enable thinkfan.service
      
  4. /etc/thinkfan.conf必要なデバイスとファンレベルへの正しいポインタで適応します。そこのコメントはドキュメントを提供します。従来のファンとサーマルデバイスを搭載したThinkpadでは、次の点が適切な出発点となります(また、ハードディスクに対して安全である必要があります。詳細については、ファイルのコメントを参照してください)。これは新しいキーワードを使用することに注意してください。上記の他の回答のキーワードは非推奨です。

    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) 
    

テスト

(再起動後)セットアップをテストするには、次のようにします。

  • 1つのターミナルウィンドウでthinkfan、非デーモンモードで実行して、メッセージを表示できるようにします。

    sudo service thinkfan stop && sudo thinkfan -n
    
  • 別のターミナルウィンドウで、現在の温度値に注目し、温度プローブデバイスが異なる場合は供給します。

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
    
  • さらに別のターミナルウィンドウで、CPUをいくらか熱します(熱管理の一部が期待どおりに機能しない場合は、Ctrl+ Cで中断します)。

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

1
驚くばかり。これにより、T490がPop_OS 19.04で解決しました。ファンはまだオンになっていますが、全体ではありません。
ナイタイ

1
新しいThinkPadデバイスにはがありませんので/proc/acpi/ibm/thermal、その場合のために追加の作業を行う必要があります(ドイツ語のすばらしいThinkWikiページに掲載されています)。私はそれを私のために機能させたようですので、あなたの答えを更新するか、別の答えを作成するかもしれません。ありがとう!

1

PCのUEFIセットアップ(またはBIOSセットアップ)を確認してください。あなたにあなたのファンを置くことができるファン制御の設定があるかもしれませんSilent ModePerformance ModeFull SpeedCustomize、など

UEFI設定にアクセスする方法:PCを再起動すると、それらを入力するためのキーがコーナーの1つに表示されます(例Press F2 to enter UEFI setup

ファン制御のためのASRock UEFIセットアップ


これはAskUFIではなくAskUbuntuです:)
マールテン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.