在Linux中,有没有办法检查页面(或页面范围)是否mlock
? munlock
的POSIX描述表明,无论调用mlock
多少次(它似乎包括零次),它都会成功进行有效分配。
答案 0 :(得分:0)
我从未尝试过,但我认为如果您使用MAP_ANONYMOUS
和 MAP_LOCKED
标记使用mmap(2)
分配内存,则类似于做malloc
和mlock
。
如果启用CONFIG_PROC_PAGE_MONITOR
内核配置选项,您将进入/proc/[pid]/smaps
的条目。
使用/proc/[pid]/smaps
,您可以检查映射条目的Locked
行,这将允许您确定映射是否已锁定(mlock
等效)。