サーバーはデスクトップマシンに比べ多くのメモリを利用しがちだ。とりわけWebサーバーなどは応答速度を速めるために、あらかじめプロセスを立ち上げた状態になっている(Webサーバー以外の多くの通常のプロセスの場合は呼び出されたらプロセスが起動する)ので、その分メモリを確保してしまう。その段階で、別のプロセス(たとえばDBの検索)などが発生すれば別途メモリを必要とする。メモリが足りなくなれば、LRUなどの方式によって不要なメモリを仮想メモリ(スワップ領域)に追い出す(ページアウト)。不要なはずだったアドレスにある情報を不幸にともりだす必要が出てくれば、実メモリに一度読み込んで(仮想メモリからは直接読み込めない)から(ページイン)処理する。仮想メモリは実メモリと違ってHDDなどの補助記憶装置なので、アクセスが非常に遅い。CPU処理はそれに比べると非常に早いので、どうしても処理待ちになってしまう。これがシステムを遅くする原因なのだ。
そうならないようにするためにはどうしたらよいか、または現在のシステム(Linux)の応答速度が遅い場合のボトルネックがどこにあるのかといったものを調査するポイントを列挙してあるサイトを見つけたので、参考にされたい。