質問: dirty pages / all ram if dirty_pct > 50%: # half of memory is dirty, slowly start swapping out if busy_time(swapdevice) < dirty_pct: # if ram is 60% dirty, start swapping if disk is less than 60% busy # if ram is 90% dirty, start swapping if disk is less than 90% busy identify the next 10 mb that would be swapped if dirty_pct had been 100% save the 10 mb to swap as a single chunk mark the pages as clean このようにして、システムは50%ダーティでスワップアウトを開始し、アイドル状態になっていたドライブでスワップアウトするため、パフォーマンスに影響しません。スワップされたデータは決して使用されないかもしれませんし、それでも私たちはいくつかのioとにかくアイドル状態でした)を無駄にしました。$ uname -a linux r815 4.15.0-99-generic #100-ubuntu smp wed apr 22 20:32:56 utc 2020 x86_64 x86_64 x86_64 gnu/linux
回答: ない。それは不可能です。linuxカーネルは、ram、スワップスペース、最後に使用されたスワップロケーション、ディスクキャッシュレスポンシブ、スワップなど、さまざまなアルゴリズムを使用して、スワップメモリ割り当てをいつどのように使用するかを決定します。システムのフリーズやプロセスの強制終了を回避するためにメモリ管理がオンデマンドであるため、システムは「10mb>ページコレクション」を待つだけで済みません。ただし、ramおよびスワップ管理に関連するいくつかのバグは、システムがスワップを開始したときのパフォーマンスが非常に悪いため、長年報告されています。ここでの最大の問題は、スワップに到達したときのページの指数関数的な乗算です(メモリページがリンクしているため)ため、ディスク使用量はzswapを使用して改善できると言えます。zswapはその乗算を圧縮し、ディスクの読み取り/書き込みを減らし、cpu使用率に顕著な影響を与える可能性があります。zswapはカーネル管理されており、システムのニーズに合わせて調整するための便利な低レベル構成がたくさんあります。 https://www.maketecheasier.com/use-zswap-improve-old-linux-performance/