10.3. mlockall() システムコールを使用して、マップされたすべてのページをロックする

mlockall() および munlockall() システムコールを使用してリアルタイムメモリーをロックおよびロック解除するには、flags 引数を 0、もしくは定数 MCL_CURRENT または MCL_FUTURE のいずれかに設定します。MCL_FUTURE を使用すると、ロックされたバイト数が許可された最大数を超えるため、mmap2()sbrk2()、または malloc3() などの将来のシステムコールが失敗する可能性があります。

前提条件

  • システムの root 権限がある。

手順

  • mlockall() および munlockall() リアルタイムシステムコールを使用するには、以下を実行します。

    • mlockall() システムコールを使用して、マップされたすべてのページをロックします。

      #include <sys/mman.h>
      int mlockall (int flags)
    • munlockall() システムコールを使用して、マップされたすべてのページのロックを解除します。

      #include <sys/mman.h>
      int munlockall (void)

関連情報

  • capabilities(7) man ページ
  • mlock(2) man ページ
  • mlock(3) man ページ
  • move_pages(2) man ページ
  • posix_memalign(3) man ページ
  • posix_memalign(3p) man ページ