私のデスクトップは嫌な癖があります。いくつかの高輝度アプリケーションを実行していて、CPUが一定期間最大使用状態になると、コアの温度が上昇し、コンピューターが自動的にシャットダウンします。
CPU温度をバックグラウンドで監視(スクリプトを記述)して、一定の温度を超えたときに何らかの警告を表示する方法はありますか?
私はウィンドウマネージャーとしてdwmを使用してopensuseを実行しています。私は通常sensors
、CPU温度を確認するために使用します。
私のデスクトップは嫌な癖があります。いくつかの高輝度アプリケーションを実行していて、CPUが一定期間最大使用状態になると、コアの温度が上昇し、コンピューターが自動的にシャットダウンします。
CPU温度をバックグラウンドで監視(スクリプトを記述)して、一定の温度を超えたときに何らかの警告を表示する方法はありますか?
私はウィンドウマネージャーとしてdwmを使用してopensuseを実行しています。私は通常sensors
、CPU温度を確認するために使用します。
回答:
たとえば、dwmのステータスバーに温度を表示するスクリプトを記述できます。
temp (){
awk '{print $4"°C"}' <(acpi -t)
echo $temp
}
xsetroot -name "$(temp)"
あなたのsensors
出力は、あなたのセットアップに応じて、より複雑になることがあります。これは、私のマシンのいずれかで動作します:
awk '/temp1/ {print +$2"°C"}' <(sensors)
statuscoloursでパッチを適用する場合、$temp
より高い値にヒットすると、出力の色をさらに変更できます...
Arch Wikiには基本的なステータスバースクリプトの設定の概要があり、dwmサイトには.xinitrcの例が含まれています。
詳細については、私のdwm-status
スクリプトを参照してください:http : //beta.intuxication.org/jasonwryan/archer/file/tip/Scripts/dwm-status
私はまったく同じ問題を抱えており、私が使用しているのは "cpufreqtools"(または単に "cpufreq"-覚えていない!)パッケージです。
それはあなたに二つのコマンドを与えます:cpufreq-infoとcpufreq-set
cpufreq-infoは、現在のCPU速度と最小および最大速度をリストします。そして利用可能なステップも。
cpufreq-setは、CPUが到達する最大速度を制限できるため、より便利です。
私の過熱しやすいCPUの速度は800MHz、1.60GHz、1.80GHzです。だから、私はこれを1.60GHzに制限します:
cpufreq-set --max 1.60Ghz
魅力的な作品!
Linuxスキルがさらに進んでいる場合は、それを起動スクリプトに入れて、Linuxが起動するとすぐに実行されるようにすることもできます。
幸運を。
この種類の過熱問題に直接対処するスクリプトを作成しました。必要な温度に基づいてCPUを制限します。次のようにバックグラウンドで自動的に実行されます。
sudo ./temp_throttle.sh 80
このコマンドを使用すると、CPUコアが摂氏80度に達すると速度が低下します。温度が下がると、CPUコアは再び高速で実行できるようになります。ここでtemp_throttleを見つけることができます。
capabilities(7)
必要な機能(manページなど)を説明します。