システムの過熱と再起動を防ぐためにulimitを使用できますか?

システムの過熱と再起動を防ぐためにulimitを使用できますか?

今学んだ楽しみulimit

たとえば、古いプロセッサを使用しているシステムが過熱し続ける場合は、ユーザーが使用できるシステムリソースの量が古すぎて接続できる他のハードウェアがない場合です。 、CPUがクールに保たれ、CPUからコンテンツをコピーできるようにすることは可能ですか?

私の言葉は、意図した目的ではなくハッキングのように聞こえますが、ulimitこれがうまくいくかどうかを知りたかったです。私もそう思いましたが、システムのすべてのユーザーに適用しなければなりませんでした。私はまた、ランレベル1が同様の状況を引き起こすと思いました。

答え1

無駄です。ulimit主に、プロセスが使用できるさまざまな種類のメモリ(直接使用されるメモリとファイル記述子、プロセステーブルなどのシステムテーブルのエントリ)の量を制限します。ulimit合計CPU時間を一定量以上消費するプロセスを終了するために使用できますが、これはCPU温度とは関係ありません。数分間CPUを占めるプロセスはシステムの過熱を引き起こす可能性がありますが、1日に数分かかるプロセスは問題を引き起こさない可能性があります。

ulimitプロセスのスケジューリング優先順位に制限を設定することもできますが、プロセスがCPU時間を使用するのを防ぐ唯一の方法は、他のプロセスがCPUを使用することであるため、これも役に立ちません。同じ理由でniceCPUをクールに保ちません。

CPUの最大周波数を制限すると、CPUの温度が下がります。 Linuxでは、次のようにこれを実行できます。

echo 2097152 | tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq

これにより、CPU周波数が2GHzに制限されます(scaling_max_freq単位はkHz)です。各policy*ディレクトリはコアに対応します。

プロセッサしなければならない衝突するのではなく、過熱を防ぎ、作業速度を遅くしますが、火災が発生し、CPUは実際にはかなり保護されますが、実際には衝突が発生します。

関連情報