CPU 使用率 100% または MEM 使用率 100% になると Linux サーバーは不安定になりますか? クラッシュして再起動が必要になるほどです。
なぜなら、私はこう聞いたことがあるからです。
「CPU の 90% で処理を制限すると、計算能力の 10% が無駄に浪費されることになります」
対
「プロセスの CPU 使用率を 90% 未満に制限してください。そうしないとシステムが不安定になります。」
どちらの記述が正しいでしょうか? Linux OS は高使用率のケースを処理すべきではないでしょうか?
クライアントマシンでは、ログインやCLIコマンド、その他インタラクティブな処理が遅くなるため、CPU使用率を100%にしたくないのは理解できます。しかし、ワーカーノードCPU 使用率は 100% にすべきでしょうか、それとも 100% 未満に制限すべきでしょうか? MEM についても同じ質問です。
答え1
CPU 使用率が 100% のサーバーは、新しいタスクに対する応答性が低く、対話型で使用すると動作が遅くなる可能性がありますが、動作は継続します。CPU を集中的に使用するタスクを 100% またはそれに近い値で実行するワーカー ノードは問題ありません。デスクトップ PC の場合は、そうではありません。
メモリが 100% になったサーバーは、タスクの強制終了を開始するか、クラッシュします。
答え2
これは複雑な答えが必要な質問です。
簡単に答えると、いいえ、リソース使用率が高くなっても、それ自体でサーバーが不安定になったりクラッシュしたりすることはありません。しかし...
長い答えは、状況によって異なります。たとえば、CPU 使用率が高いと、応答時間が遅くなったり、リソースの競合が発生したり、サーバーが処理できるよりも速くリクエストがキューイングされるという問題が複雑化したりします。これにより、サーバーが不安定になります。
プロセスの優先度もここで重要な役割を果たします。優先度の高いタスクには CPU 時間が優先されるため、優先度の低いタスクはリソース不足に陥り、システムが不安定になる可能性があります。
一方、意図的に低い優先度に設定された CPU 集中型タスクは、システム パフォーマンスに顕著な影響を与えることなく、アイドル状態の CPU の一部を活用できます。Folding@Home などのプログラムはこれを利用して、システムの他の部分に影響を与えることなくバックグラウンドで実行します。
メモリ使用率が高くなるとスワッピングが発生し、サーバーのパフォーマンスがさらに低下し、サーバーが不安定になる可能性があります。
メモリ使用率が高いと、メモリ不足の問題が発生する可能性があり、プロセスが終了してしまいます。これにより、サーバーが不安定になり、クラッシュしやすくなります。
それはすべて、サーバーが何をするべきかによって決まります。Web サーバーの使用率がこのように高くなると、使用できなくなる危険性が高くなりますが、ビデオ エンコーディング サーバーであれば問題なく動作します。
さらに、消費電力、発熱、冷却能力などの問題もあります...
答え3
それは、それらのサーバーが何を行うかによって完全に異なります。
ここに物語があります。Windows ですが、それでも同じです。
サーバーの CPU を 100% 使用するソフトウェア エージェントがあります。規模に関係なく、これだけです。これは、サーバーからコアごとに 1 つのジョブを取得して実行する統計シミュレーション エージェントです。優先度は低く、優先度の高い制御スレッドによって、すべてのジョブがビジー状態になるようにします。
100% CPU が問題ですか? いいえ。これが計画されていることです。
一方、SMART メモリ管理を備えたデータベース サーバーは、キャッシュに可能な限り多くのメモリを使用し、必要に応じてメモリを解放します。これも問題ではありません。