12.2. 使用 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)
#include <sys/mman.h> int mlockall (int flags)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
munlockall ()
系统调用解锁所有映射的页面:#include <sys/mman.h> int munlockall (void)
#include <sys/mman.h> int munlockall (void)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow