web-dev-qa-db-ja.com

CPUの過熱を防ぐ

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

9
Qwertie

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

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

Linuxサーマルデーモン(thermald)は、ラップトップ、タブレットPC、最新のIntel Sandy Bridgeおよび最新の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-Intel Power Clamp.txt )および上記のthermaldの一部です。リンクからのPowerclampの直接引用:

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

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

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

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


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

Powerclampは、ファンの通気口にほこりや糸くずが入りすぎる場合に1年に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_raplintel_powerclampが表示されている場合、動作していること、および一時的に85Cを超えるのを待っていることがわかります。


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

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

Kidie Injection

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

  • 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°Cを下回るまで実行されます。ドライバーの実行中に、ビデオの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

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

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

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

2017年1月25日更新

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

2017年8月6日更新

TLP(上記)を何ヶ月も使用しており、温度は50℃前後で安定しており、ファンのパフォーマンスが最適です。


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

これはデルなので、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では正確で、Conkyディスプレイでtemp 1を使用しました。 Ubuntu 16.04のアップグレード後、この画面に表示されていない3番目の温度を参照する必要がありました。 REALtempsを表示するには、次のコマンドを使用できます。

$ 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を取得しています。

9

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

cpufreq-selector -f <mention the frq u want in the Khz>
1
rɑːdʒɑ