CPUの過熱を防ぐ


11

ブレンダーのような集中的なアプリを実行すると、CPUは最大80を取得できます。CIはBIOSからCPUを手動でアンダークロックできますが、CPU温度が高くなりすぎて、すべてが冷めるまで物事を遅くすることをPCに検出させたいと思います。ubuntuからCPUを遅くするこの自動または手動の方法を行う方法はありますか


2
これは、当面はBlenderの機能リクエストのようです。Performance Governorを手動で使用し、システムモニターでアプリを手動で停止できます。
userDepth

回答:


11

Sandy Bridge以降のプロセッサ向けのIntel Ubuntu 16.04+ソリューション

(からwiki.debian.org -thermald)Debianの(Ubuntuの)について、最大書き込みがありthermald タブレットやノートパソコンを冷却するためのAのLinuxデーモンが。これは、Sandy Bridge(第2世代)以降のIntelコアでのみ機能します。システムの温度が特定のしきい値に達すると、Linuxデーモンはさまざまな冷却方法をアクティブにしてシステムの冷却を試みます。

Linuxサーマルデーモン(thermald)は、ラップトップ、タブレットPC、最新のIntelサンドブリッジ、最新のIntel CPUリリースの温度を監視および制御します。システムの温度が特定のしきい値に達すると、Linuxデーモンはさまざまな冷却方法をアクティブにしてシステムの冷却を試みます。

次の2つのモードで動作します。

ゼロ構成モード

  • ほとんどのユーザーにとって、これはシステムのCPU温度を制御するのに十分なはずです。これはDTS温度センサーを使用し、Intel P状態ドライバー、パワークランプドライバー、Running Average Power Limitコントロール、およびcpufreqを冷却方法として使用します。

ユーザー定義の構成モード

  • これにより、サーマルXML構成ファイルでACPIスタイルの構成が可能になります。これを使用して、バグの多いACPI構成を修正したり、センサーや冷却装置を追加して微調整したりできます。これは、ユーザーモードで閉ループ熱制御を実装する最初のステップであり、コミュニティのフィードバックと提案に基づいて強化できます。

インストールする方法

apt-get install thermald

TLP

Arch Linuxから:

TLPは、すべての技術的な詳細を理解する必要なく、Linuxの高度な電源管理の利点をもたらします。TLPには、バッテリ寿命に合わせて最適化されたデフォルト設定が付属しているため、インストールして忘れてもかまいません。それでも、TLPは特定の要件を満たすように高度にカスタマイズできます。

上記のArch Linux TLPの完全なリンクをお読みください。Nvidiaには、構成の変更が必要な問題があります。

他のパッケージで何度も試行錯誤を繰り返した結果、TLPを使用して大きな成功を収めました。優れたファン制御を提供し、thermaldおよびp-statesとシームレスに動作します。

Ubuntu 15.04+のこれらのインストール手順では、TLPが過熱を減らすだけでなく、バ​​ッテリー寿命も延長することに言及しています。

TLPをインストールしてから、Powerclamp(以下で説明)が再度呼び出されることはありません。


Intel Powerclamp

IntelのPowerclampのドライバはここで定義される(kernel.org -インテルパワーClamp.txt)との一部であるthermaldは、上記の。リンクからのPowerclampの直接引用:

電力バジェット、熱的制約、またはノイズレベルのために、実行時にシステムの電力消費を削減する必要があり、アクティブな冷却が好ましくない状況を考えてください。壊滅的なシナリオ用に設計されたハードウェアアクションを防止するために、ソフトウェア管理による受動的な電力削減を実行する必要があります。

現在、Pステート、Tステート(クロック変調)、およびCPUオフラインがCPUスロットリングに使用されています。

Intel CPUでは、Cステートは効果的な電力削減を提供しますが、これまでのところ、ワークロードに基づいて日和見的にしか使用されていません。intel_powerclampドライバーの開発により、すべてのオンラインCPUスレッドでアイドル挿入を同期する方法が導入されました。目標は、強制および制御可能なC州の居住を達成することです。

テスト、分析は、パワー、パフォーマンス、スケーラビリティ、ユーザーエクスペリエンスの分野で行われています。多くの場合、CPUをオフラインにしたりCPUクロックを変調したりするよりも明らかな利点があります。


Powerclampが実行されていることをどのように確認しますか?

パワークランプは、ファンの通気口にほこりや糸くずが入りすぎると、年に1回しか表示されない場合があります。それでは、実際にバックグラウンドで実行されていることをどのように確認しますか?使用する:

lsmod | grep intel

そして、次のようなリストが表示されるはずです。

btintel                16384  1 btusb
bluetooth             520192  29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
intel_rapl             20480  0
intel_powerclamp       16384  0
   (.... more intel drivers ....)
snd                    81920  18 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device

表示されてintel_raplおり、動作しintel_powerclampていることがわかっていて、単純に温度が85℃を超えるのを待っている場合。


Conkyが表示する動作中のパワークランプ

Powerclampがスリープサイクルを注入するときのスクリーンショットは次のとおりです。

Kidieインジェクション

通常、このシステムでは、HTML5ビデオと10個のChromeタブが開いているときのCPUクロック速度は2400〜3400 Mhzです。通常、CPU使用率は8つのCPUで約9〜12%です。物事が熱くなりすぎた場合(86Cパワークランプが作動し、これが起こります:

  • CPU速度は1200 Mhzに低下します。
  • CPU使用率が最大80%急上昇します。余分な70%が睡眠時間であるため、これは誤解を招きます。
  • 上位9つのCPUプロセスは、通常5つまたは6つのChromeプロセスに加えて、Xorg、Conky、Pulse Audio、および時々kworkerです。ただし、現在は上位10個のうち8個がkidle_inject / xプロセスでxあり、0〜7です。最初の8個のCPUの場合。

Powerclampのタンが再び85℃未満に低下するまで、ドライバが実行されます。ドライバーの実行中に、ビデオの2番目の一時停止を分割したり、2番目のキーボードとマウスの遅延を分割したりする可能性があります。


Intel Turbo Boostを無効にする

Ubuntu 14.04の「クールな昔」に戻ると、Intel Turbo Boostが壊れていたため、プロセッサの速度は1200 Mhzから2400 Mhzの間で変動しました。Ubuntu 16.04へのアップグレード後、Turbo Boostが最終的に機能したため、最大3400 Mhz(3.4 Ghz)になりました。しかし、それはまた熱を上げました。

Intel Turbo Boostの使用を無効にするには:

echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

このシナリオでの短期的な修正

この問題を「バンドエイド」で解決するために、クローゼットからデュアルファンを備えた古いラップトップクーラーパッドを引き出し、ラップトップの下にポップしました。これにより、同じワークロードで一時温度が63°Cに下がりました。

次のステップは、通気口で空気を圧縮することです。その後、最終ステップは、CPUおよびGPU用のパイプを備えた新しい冷却ヒートシンクです。その操作には、Arctic Silver 5などの優れたサーマルペーストも必要です。昨年、新しいファンがすでにインストールされており、正常に動作しているようです。

2017年1月25日更新

圧縮空気でファンの通気口を吹き飛ばし、温度を63Cから56Cに下げました。これはまだラップトップの冷却パッドを使用しています。

2017年8月6日更新

使用されているTLP今、何ヶ月も(前述)と温度が安定した周りの50Cとファンの性能が最適です。


ファン制御ドライバーが多すぎることに注意してください

これはデルなので、I8Kファンモニタ/コントロールをインストールしたので、ファンの速度がますます速くなることを期待しています。入力すると次のようsensorsになります:

$ sensors
dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 3963 RPM
CPU:            +63.0°C  
Ambient:        +49.0°C  
GPU:            +54.0°C  
Other:          +79.0°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +106.0°C)
temp2:        +29.8°C  (crit = +106.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +65.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +65.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +64.0°C  (high = +87.0°C, crit = +105.0°C)
Core 2:         +63.0°C  (high = +87.0°C, crit = +105.0°C)
Core 3:         +57.0°C  (high = +87.0°C, crit = +105.0°C)

仮想温度を無視して、彼らは昼食に出ています。Ubuntu 14.04では正確にtemp 1表示され、Conkyディスプレイで使用しました。Ubuntu 16.04のアップグレード後、この画面に表示されていない3番目の温度を参照する必要がありました。REAL tempsを表示するには、次のコマンドを使用できます。

$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
62000

入力するとき:

$ lsmod |grep dell
dell_wmi               16384  0
sparse_keymap          16384  1 dell_wmi
dell_laptop            20480  0
dell_smbios            16384  2 dell_wmi,dell_laptop
dcdbas                 16384  1 dell_smbios
dell_smm_hwmon         16384  0
wmi                    16384  1 dell_wmi
video                  40960  3 dell_wmi,dell_laptop,i915

私が見dell_smm_hwmonカーネルモジュール/ドライバを。私がグーグルでそのドライバーとI8K人々が報告すると、2つのドライバーは10秒ごとに1秒間システムフリーズを引き起こします。私は自分でこの問題を抱えていたので、I8Kファン制御を削除する必要がありました。

他にも多くのユーティリティと冷却方法がありますが、これはTL; DRを取得しています


うわー、それはかなりの答えです。ここにはたくさんのクールなものがあります。
クワーティー

Thermaldをインストールしましたが、powerclampの実行方法は?デフォルトで実行されていますか?それを超えないようにしようとしている温度は何ですか?

@cipricusを使用すると、次の$ lsmod | grep powerように表示されますintel_powerclamp 16384 0。そうでない場合、何らかの理由でPowerclampがブラックリストに載ることがあります。しきい値温度は85℃ですが、変更できると思います。参照:bugs.launchpad.net/ubuntu/+source/linux/+bug/1389077
WinEunuuchs2Unix

4

この問題のためだけにプログラムを作成しました。目的の温度に基づいてCPUを制限します。次のように実行されます。

sudo ./temp_throttle.sh 80

このコマンドは、摂氏80度に達するとCPUコアの速度を低下させます。温度が下がると、CPUコアは再び高速で実行できるようになります。あなたは見つけることができ、ここでtemp_throttle


起動時にメインスクリプトをsudoで実行し、gnome-terminalにパスワードを入力するには、小さなスクリプトを作成できます。

#!/bin/bash

cd "/path/to/the/directory/temp-throttle-stable/"
gnome-terminal -e 'sudo ./temp_throttle.sh 80' --geometry=45x15 --hide-menubar --profile=hold  

--geometry=45x15小さな端末画面を開きます。--profile=hold「ホールド」というgnome-terminalプロファイルを使用します。このプロファイルは、「コマンドが終了するとき:端末を開いたままにする」オプションで作成する必要があり--hide-menubar、そのウィンドウのメニューを非表示にします)

実行可能にした後、この小さなスクリプト(呼び出しましょうtemp_throttle_80.sh)を起動リストに追加すると、起動時にパスワードの入力を求められます。次に、言及された温度に達すると、そのアクションが報告されます。

ここに画像の説明を入力してください


1
素敵なスクリプト。また、最高温度に達したときにpcをスリープ状態にするスクリプトも作成しました。リンク
ケン

それは素晴らしい答えであり、16.04


オプションsudocron使用することに力を必要とするスクリプトreboot。これにより、起動時にパスワードを入力する必要がなくなります。他の方法もありますが、cronはセットアップが最も簡単でした。
WinEunuuchs2Unix

参考までに、私がIntel Powerclampに投稿した回答は、CPUを最低速度に戻します。ただし、アイドル状態を挿入して、CPUが何もしないようにします。あなたのスクリプトは素晴らしいと思いますが、Intelが何をしているか知りたいかもしれません。私はそれがオープンソースであり、興味があれば勉強できると信じています。
WinEunuuchs2Unix

1

CPU周波数を制限して、周波数を下げることができ、CPUからの熱を制御できます。

cpufreq-selector -f <mention the frq u want in the Khz>

これは永続的ですか、または再起動後に戻りますか?
クワーティー

その固定セットであり、それを変更する場合は、再度行う必要があります。
rɑːdʒɑ

gnome-appletsこれが機能するためにはインストールする必要があります
kiri

@ minerz029これは私の友人の端末コマンドです。
rɑːdʒɑ

1
@rajagenupulaコマンドが見つかりませんというエラーが表示されますThe program 'cpufreq-selector' is currently not installed. You can install it by typing: sudo apt-get install gnome-applets
kiri
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.