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)使用
munlockall ()系统调用解锁所有映射的页面:#include <sys/mman.h> int munlockall (void)