質問: Linux において、スワップを行う設定にした場合、カーネルはどのようなアルゴリズムで、スワップアウトするべきページを決定していますか?
回答: 外部サイトかつ古い版数の話なのでリンクとほんの少しの引用だけ。 いくつかあるので詳細は飛び先で確認してください。 OSDN > ソフトウェアを探す > Linux Kernel Documents > Wiki > 0.6 メモリ管理 > > 0.6.2.2 ページアウトとスワップ > > > OSDN > ソフトウェアを探す > Linux Kernel Documents > Wiki > internal22-198-メモリ確保アルゴリズム詳細 > > swap_out関数は、もっともスワップすべきページを持っているプロセスを探し出し、そのプロセスにスワップアウトの要求を出す。 > > `swap_out関数処理内容を疑似コードで解説` > > プロセスに出されたスワップアウト要求は以下のように分解され、最終的にはプロセス内のページに対するスワップ要求(try_to_swap_out関数)になる。 > > swap_out_process関数 → swap_out_vma関数 → swap_out_pgd関数 → swap_out_pmd関数 → try_to_swap_out関数 > > `try_to_swap_out関数処理内容を疑似コードで解説` > > > 上記よりもう少し新しく?て詳しいのがこちら。 The Linux Kernel:メモリ管理 もう少し新しめの記事。 Linuxメモリ管理の最先端を探る