排查应用内存疑似未通过系统调用解除映射的问题
内存映射排查问题记录
- 读取
/proc/<pid>/maps时,发现一个大内存区域(该区域最初以128MB块通过mmap创建,但显示为单个区域) - 1秒后再次打印内存映射,我原以为
该大区域仅剩余小部分被映射 - 使用
strace -f跟踪应用,未找到对应内存范围的munmap/mremap系统调用,仅存在少量brk调用(涉及另一部分内存) - 检查该时段所有系统调用后未发现异常,因此疑问:是否存在内核间接解除内存映射的情况?
编辑:是我的错误,内存并未被解除映射,只是通过常规mmap系统调用被设置为PROT_NONE权限。我的脚本在计算区域大小时意外遗漏了这部分输出,此问题可关闭。
内容的提问来源于stack exchange,提问作者Radim Vansa
相关产品推荐
相关产品推荐

