マンページによると、ulimitの「-l」は「メモリにロックされる可能性のある最大サイズ」を意味します。この文は正確にはどういう意味ですか?実行中のプログラムにどのように影響しますか?
2 に答える
ロックされているメモリはページアウトされない場合があります。これにより、他のプロセスで使用できるメモリの量が減少します。この設定により、ロックできるメモリの量が制限されます。
これにより、 mlockでスワップ不可にできるメモリの量が制限されます
setrlimitのマンページには次のように書かれています。
RAMにロックできるメモリの最大バイト数。実際には、この制限はシステムページサイズの最も近い倍数に切り捨てられます。この制限は、mlock(2)とmlockall(2)、およびmmap(2)のMAP_LOCKED操作に影響します。Linux 2.6.9以降は、shmctl(2)SHM_LOCK操作にも影響します。この操作では、呼び出しプロセスの実際のユーザーIDによってロックされる可能性のある共有メモリセグメント(shmget(2)を参照)の合計バイト数に最大値が設定されます。shmctl(2)SHM_LOCKロックは、mlock(2)、mlockall(2)、およびmmap(2)MAP_LOCKEDによって確立されたプロセスごとのメモリロックとは別に考慮されます。プロセスは、これら2つのカテゴリのそれぞれで、この制限までバイトをロックできます。2.6.9より前のLinuxカーネルでは、この制限により、特権プロセスによってロックされる可能性のあるメモリの量が制御されていました。Linux 2.6.9以降、