プロセスメモリのどの部分を交換できますか?

プロセスメモリのどの部分を交換できますか?

Linuxカーネルスワップシステムの詳細を学びたいと思います。

メモリ内のar / oまたはバイナリのコード部分にスワップが必要な場合は、すでにディスク上のファイルとしてサポートされているため、スワップファイル/パーティションに移動しないでください。

これが実際に機能する方法ですか?ファイルサポートr / oまたはrx割り当てページは専用ファイルに交換されますか?では、誰かがこの問題を処理するコードを教えてもらえますか?見つかりません。

ベストアンサー1

そうそう。ディスクからコンテンツを使用できるページは削除され、「個人ファイル」に置き換える必要もありません。スワップされていないバックアップストアを含むダーティページ(例えば、メモリマップファイル)がこのバックアップストアに書き込まれます。スワッピングは、バックアップストアを持たない取り外し可能ページにのみ使用されます。

ほとんどの場合、これは次kswapdの操作を実行することで処理されます。リサイクル:

非同期でメモリページをスキャンして他の場所で利用可能なデータが含まれている場合は、そのページを解放するか、バックアップストレージデバイスに削除します(ダーティページを覚えていますか?)。

バラよりmm/vmscan.c実装のため。

おすすめ記事