GPUの過熱と自動シャットダウンを防ぐ方法

GPUの過熱と自動シャットダウンを防ぐ方法

私はLinuxがゲーマーのコンピュータでどのように処理されるのかを知りたいと思って1つを作りました。しかし、GeForceはAMDほどLinuxが好きではないことを知っているので、最後のものを選択しました。

私はAMD Ryzen 7 1800X CPUとRadeon RX 560D GPUでコンピュータを作成しました。なぜなら、Vegaは私が余裕があるには高すぎて、ベンチマークでは560が現在の価格に対して最高の製品だと言ったからです。

いくつかの調査の終わりにサフィックスDが付いたことは、DのないRX560に比べて電力を節約するためにクロック速度がやや低いという意味であることがわかりました。

ランダムゲームプレイ中に多数の衝突が発生した後、ついに問題がGPU過熱であるという事実を見つけました。ファン速度はCPUファン速度に従う傾向がありますが、もちろん、一部のゲームではCPUがGPUよりはるかに少ない必要があります。

CPUの代わりにGPUの温度に応じてファン速度をカスタマイズすることで問題を部分的に解決し、現在は徐々に増加して50度の摂氏で最大速度に達しますが、問題は一部のゲームでは常に最大速度を維持して終了することです.まだ崩れています。

衝突の説明:画面が点滅してから黒く変わり、GPUファンが停止し、キーボードLEDが点滅してから消え、マウスが変わらず、他のCPUファンが点灯し続け、時々システムが永久に停止したり、システムが自動的に再起動します。

再起動が必要だったため、syslogでどのヒントも見つかりませんでした。最初はカーネルパニックだと思ったけどダンプファイルカーネルをコピーしましたが、システムはまだ衝突しており、回復できませんでした。

Windowsに同じ問題があるかどうかはわかりませんが、そうではないと確信しています。 Windowsで同じ問題を抱えている人を見たことはありません。したがって、私の質問は次のようになります。カーネルにGPUを許可するように指示する方法はありますか?過熱したときに実行してください。少しリラックスして、自動的にGPUクロック速度を下げますか?

答え1

/sys/class/drm/card0/devicepp_dpm_mclk解決策が見つかりました。 GPUメモリクロックを表すファイルとpp_dpm_sclkGPUコアクロックを表すファイルがあります。

$ egrep -H . /sys/class/drm/card0/device/pp_dpm_*
/sys/class/drm/card0/device/pp_dpm_mclk:0: 300Mhz 
/sys/class/drm/card0/device/pp_dpm_mclk:1: 1500Mhz *
/sys/class/drm/card0/device/pp_dpm_pcie:0: 2.5GB, x8 *
/sys/class/drm/card0/device/pp_dpm_pcie:1: 8.0GB, x16 
/sys/class/drm/card0/device/pp_dpm_sclk:0: 214Mhz *
/sys/class/drm/card0/device/pp_dpm_sclk:1: 481Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:2: 760Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:3: 1000Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:4: 1050Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:5: 1100Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:6: 1150Mhz 
/sys/class/drm/card0/device/pp_dpm_sclk:7: 1196Mhz 

このファイルはプロファイルをpower_dpm_force_performance_level表します。時計の温度とチャジャン、動作しました!lowautomanualautolowmanual

設定ファイルの時計を変更するには、から始まる行を表すファイルにmanual数字を書きます。私の場合はまでです。pp_dpm_sclk07

私のスクリプトに興味があればこの一つ

関連情報