【发布时间】:2012-05-15 03:34:23
【问题描述】:
我正在编写一个内核模块,它将接受用户进程 ID (PID) 作为输入并转储该用户进程的所有地址空间,如堆栈、堆段。
我将mm->start_brk 作为堆的开始,mm->brk 作为堆的结束,然后我看到,即使用户进程没有使用 33 页,堆大小显示为 33 页
(mm->brk - mm->start_brk)。 (我使用/proc/pid/maps 验证了这一点)。 Stack 的行为也类似。
那么有什么办法可以找出从mm->start_brk开始的真正使用的堆,这样我就可以只转储使用的堆。
【问题讨论】:
标签: linux memory-management linux-kernel