質問: linuxにスワップをメモリに読み込ませる linuxカーネルは、16 gbの物理メモリのほとんどを使用するアプリケーションを実行すると、メモリからほとんどのページをスワップアウトします。アプリケーションの終了後、関連するページを最初にスワップから読み込む必要があるため、すべてのアクション(コマンドの入力、ワークスペースの切り替え、新しいwebページを開くなど)が完了するまでに非常に長い時間がかかります。linuxカーネルに、各アプリケーションを手動で操作(および待機)せずに、スワップから物理メモリにページをコピーするように指示する方法はありますか?私はたくさんのアプリケーションを実行しているので、待機は常に苦痛です。私はよくswapoff -a && swapon -aを使用してシステムを再び応答可能にしますが、これによりページがスワップからクリアされるため、次回スクリプトを実行するときにページを再度書き込む必要があります。カーネルにすべてのページをスワップから読み取るように指示するために、おそらくsysfsを使用するカーネルインターフェイスはありますか?編集:私は実際にすべてのスワップをswapcachedにする方法を探しています。 (derobertに感謝!)[ps serverfault.com/questions/153946/... および serverfault.com/questions/100448/... は関連トピックですが、linuxカーネルを取得する方法の質問には対応していませんスワップをクリアせずにページをスワップからメモリにコピーします。]
回答: ここでとても素敵な議論があります http://rudd-o.com/en/linux-and-free-software/tales-from-sensitivenessland-why-linux-feels-slow-and-how-to -fix-that これは、システムの認識された応答性を高めるために、コードのスワップアウトを防ぐ必要があるという考えで、スワップピネスの減少に要約されます(これが起こります)。これは実際にはあなたの質問に対する答えではありませんが、これにより問題が発生するのを防ぐことができます(アプリケーションがスワップされず、未使用のデータとページキャッシュのみがスワップされます)。