Memory management mlock是否阻止页面出现在核心转储中?
我有一个进程,有一些敏感内存,永远不能写入磁盘 我还有一个要求,我需要核心转储来满足客户的首次数据捕获要求 使用mlock()锁定页面是否会阻止页面出现在核心转储中Memory management mlock是否阻止页面出现在核心转储中?,memory-management,embedded-linux,core,Memory Management,Embedded Linux,Core,我有一个进程,有一些敏感内存,永远不能写入磁盘 我还有一个要求,我需要核心转储来满足客户的首次数据捕获要求 使用mlock()锁定页面是否会阻止页面出现在核心转储中 注意,这是一个嵌入式系统,我们实际上没有任何交换空间。摘自man 2 madvise: madvise()系统调用建议内核如何处理 从地址addr开始的地址范围内的分页输入/输出,以及 具有大小长度字节。它允许应用程序告诉内核 它希望如何使用一些映射或共享内存区域,以便 内核可以选择适当的预读和缓存技术。 此调用不会影响应用程序的语
注意,这是一个嵌入式系统,我们实际上没有任何交换空间。摘自
man 2 madvise
:
madvise()系统调用建议内核如何处理
从地址addr开始的地址范围内的分页输入/输出,以及
具有大小长度字节。它允许应用程序告诉内核
它希望如何使用一些映射或共享内存区域,以便
内核可以选择适当的预读和缓存技术。
此调用不会影响应用程序的语义(除了
对于MADV_DONTNEED),但可能会影响其性能。这个
内核可以随意忽略这些建议
特别检查选项MADV_DONTDUMP
:
从核心转储中排除addr指定范围内的那些页面
和长度。这在具有大面积应用程序的应用程序中非常有用
已知在核心转储中不有用的内存。影响
MADV_DONTDUMP优先于通过设置的位掩码
/proc/PID/coredump_过滤器文件(参见核心(5))