#include <sys/mman.h>
int mlock(const void *addr,size_t length)
int munlock(void *addr,size_t length)
int mlockall(int flag)
int munlockall(void)
- mlock锁定一片内存区域,addr为内存地址,length要锁定的长度;
- munlock接触已锁定的内存;
- mlockall一次锁定多个内存页。flag取值有两个:
MCL_CURRENT: 表示对所有已经映射到进程地址空间的页上锁
MCL_FUTURE: 表示对所有将来映射到进程地空间的页都上锁。 - munlockall用于解除锁定的内存;
注:只有超级用户才能进行锁定和解除内存操作。