android - 如何获取属于进程的所有页面的列表(linux)

标签 android c linux-kernel

有没有办法在 Linux 内核中获取进程拥有的所有页面的列表? 我需要在这些页面上调用“page_free()”。请告诉我!!

最佳答案

如果你想得到所有物理页面的列表来收集状态,你可以写一个小的内核模块来实现这个,声明一个struct page *p for (for physical page on the system),有一个exported symbol ./mm/memory.c:mem_map 指向 PFN = 0 的页面。您可以使用 get_num_physpage() 来获取物理页面的总数。然后您应该能够走到阵列以获取物理页面统计信息。

如果它是一个进程的所有页面:看起来你必须 walk the page tables of a process

希望这对您有所帮助!

关于android - 如何获取属于进程的所有页面的列表(linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639275/

相关文章:

c - 使用数组时的linux设备驱动程序container_of宏

random - linux/dev/urandom 前向预测

linux - Ubuntu 16.04 linux-crashdump 失败

android - React native 硬件后退按钮不起作用

android - "Unfortunately, app name has stopped."安卓设备或模拟器

java - JAVA、JNI 和 C 应用程序的内存占用问题

linux - linux 中的 GPIO API 在时间上是否具有确定性?

android - 使用 AsyncTask 进行方形图像旋转的自定义进度对话框

Android AsyncTask 在 ActivityGroup 中给出 BadTokenException

c - 逆向工程时结构中的数据类型