13.3. mlockall() システムコールを使用して、マップされたすべてのページをロックする
mlockall() および munlockall() システムコールを使用してリアルタイムメモリーをロックおよびロック解除するには、flags 引数を 0、もしくは定数 MCL_CURRENT または MCL_FUTURE のいずれかに設定します。MCL_FUTURE を使用すると、ロックされたバイト数が許可された最大値を超えるため、mmap(2)、sbrk(2)、malloc(3) などのシステムコールが後で失敗する可能性があります。
前提条件
- システムの root 権限がある。
手順
mlockall()およびmunlockall()リアルタイムシステムコールを使用するには、以下を実行します。mlockall()システムコールを使用して、マップされたすべてのページをロックします。#include <sys/mman.h> int mlockall (int flags)munlockall()システムコールを使用して、マップされたすべてのページのロックを解除します。#include <sys/mman.h> int munlockall (void)