mlockall()
システムコールはプロセスのアドレス空間に関連付けられた物理ページを、
そのアドレス空間がアンロックされるまで、またはプロセスが終了するまで、
または他のプログラムイメージを exec するまでの間、メモリ内にロックします。
以下のフラグは
mlockall()
の振舞いに影響します:
MCL_CURRENT
|
|
プロセスのアドレス空間に現在マップされている全てのページをロックします。
|
MCL_FUTURE
|
将来プロセスのアドレス空間にマップされる全てのページを、
マッピングが確立する時点でロックします。
これらのマッピングがリソースの制限の超過を引き起こす場合には、
将来のマッピングの失敗を引き起こすかもしれないことに、注意してください。
|
物理メモリは潜在的に欠乏しているリソースであるため、プロセスは
どのくらいの量をロックできるのかを制限されています。
1 つのプロセスは最低でもシステム全体に渡る
"wired pages"
リミットをロック可能で、プロセス当たりの
RLIMIT_MEMLOCK
リソース制限をロック可能です。
munlockall()
呼び出しはプロセスのアドレス空間の中の全てのロックされたメモリ領域を
アンロックします。
munlockall()
呼び出し後にマップされる全ての領域は、ロックされません。