
私は次のカーネルを使用して Linux 上でデモ システムを実行していました。
2.6.32-400.1.1.el5uek #1 SMP 月曜日 6月 25 20:25:08 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
そして、スワップが発生するとすぐに、システムの CPU 使用率はほぼ 100% ビジーに上昇し、そのうち約 90% がシステム CPU 使用率です。Linux ページ デーモンが起動し、メモリが不足したとき (または空きメモリが 0.5G 未満) のみにメモリ チャンクをスワップに書き込み始めるため、システム CPU 使用率が高くなるため、これは想定内であると説明されました。システム上の "swappiness" は 60 です。
Linux でスワップが発生すると CPU 使用率が 100% になるのは予想される動作ですか?
上記の質問があった理由は、デモを次の Linux カーネルを持つ別のシステムに移行すると、上記の動作が変わったためです。
2.6.39-400.128.14.el5uek #1 SMP 土曜 5月10日 00:06:52 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux
移行されたシステム上の vm パラメータで私が気付いた唯一の違いは、min_free_kbytes パラメータが、移行前のシステムでは 51200 であったのに対し、移行されたシステムでは 524288 に変更されていることです。
移行されたシステムでは、空きメモリが 1.5G 未満になるとスワップが発生し、CPU 使用率が 30% から 40% 程度に少し上昇し、アプリケーションのパフォーマンスが短時間だけ不安定になり、その後すべてがスワップ発生前の正常状態に戻ります。
移行されたシステムの動作が大きく異なるのはなぜですか。スワップが発生しても CPU 使用率が 100% ビジー状態にならないのはなぜですか。
これは非常に重要なデモ システムであり、上記の 2 つの質問の説明は非常に役立ちます。どのようなアイデアでも大歓迎です。