内存调试:如何在用户space/kernel space in linux中获取锁定页面信息
Memory-Debuging: How to get locked pages information in user space/kernel space in linux
有什么方法可以获取用户 space/kernel space in linux 中的锁定页面(虚拟内存页面)信息。
我想了解以下详细信息:
谁锁定了页面?
有多少页被锁定?
锁定页面的进程名称?
也让我知道内核space和用户space中的内存调试技巧。
内存中的每个页面都分配了 is 标志,虚拟内存页面使用 mlock
、mlockall()
等 API 锁定,它分配了 VM_LOCKED
标志到页面。
了解锁定页面详细信息的两个选项:
使用猫/sys/kernel/debug/page_owner >> page_owner.txt
启用调试:kernel menuconfig PAGE_OWNER=y
添加 "page_owner=on"
到启动 cmdline。
cat /sys/kernel/debug/page_owner >> page_owner.txt
在linux源代码中输入:/tool/vm/page-types.c
,然后
编译它并遍历 /proc/
中的所有 pid 条目,并使用以下选项进行应用:
./test -p $PID -L >> test_output.txt
。
它会给你所有带有标志的页面详细信息,然后你可以在内存中找到锁定的页面。
有什么方法可以获取用户 space/kernel space in linux 中的锁定页面(虚拟内存页面)信息。
我想了解以下详细信息: 谁锁定了页面? 有多少页被锁定? 锁定页面的进程名称?
也让我知道内核space和用户space中的内存调试技巧。
内存中的每个页面都分配了 is 标志,虚拟内存页面使用 mlock
、mlockall()
等 API 锁定,它分配了 VM_LOCKED
标志到页面。
了解锁定页面详细信息的两个选项:
使用猫
/sys/kernel/debug/page_owner >> page_owner.txt
启用调试:kernel menuconfig PAGE_OWNER=y
添加"page_owner=on"
到启动 cmdline。cat /sys/kernel/debug/page_owner >> page_owner.txt
在linux源代码中输入:
/tool/vm/page-types.c
,然后 编译它并遍历/proc/
中的所有 pid 条目,并使用以下选项进行应用:./test -p $PID -L >> test_output.txt
。 它会给你所有带有标志的页面详细信息,然后你可以在内存中找到锁定的页面。