
プロセスが物理メモリにないメモリアドレスにアクセスしようとすると、オペレーティングシステムは後で使用するために物理メモリのページフレームをハードディスクにアウトソーシングします。このデータ/ガイドラインはハードドライブのどこに保存されていますか?
スワップパーティションに保存されていますか?
答え1
実行すると、swapon -s
スワップに使用されているデバイスとファイルを確認できます。たとえば、私の科学Linuxシステムは次のように言います。
[[email protected] ~]$ swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 8388600 833408 -1
だから私はスワップのために/dev/sda3を使います。また、スワップページが割り当てられる順序を調整するために使用できる優先順位フィールドも参照してください(参考資料を参照man 2 swapon
)。
一部の人が言ったように、スワップが不足しているか、スワップがゼロの場合メモリオーバーフローキラー物理メモリが不足すると、プロセスが終了し始めることがあります。
答え2
プロセスメモリページはRAMからディスクに転送できます。これは…スワップまたはページング(条件は本質的に同義語)。データはスワップ空間に移動され、必要に応じてスワップ空間から再ロードされます。 Linuxはパーティション(および他のブロックデバイス)とファイルをスワップスペースとしてサポートします。
問題のページにファイルからロードされたデータが含まれている場合、ページが回復されると、データはスワップ領域に書き込まれず、単にRAMから削除されます。プロセスにページが再び必要になると、データはこのファイルからロードされます。