Memory management mlock是否阻止页面出现在核心转储中?

Memory management mlock是否阻止页面出现在核心转储中?,memory-management,embedded-linux,core,Memory Management,Embedded Linux,Core,我有一个进程,有一些敏感内存,永远不能写入磁盘 我还有一个要求,我需要核心转储来满足客户的首次数据捕获要求 使用mlock()锁定页面是否会阻止页面出现在核心转储中 注意,这是一个嵌入式系统,我们实际上没有任何交换空间。摘自man 2 madvise: madvise()系统调用建议内核如何处理 从地址addr开始的地址范围内的分页输入/输出,以及 具有大小长度字节。它允许应用程序告诉内核 它希望如何使用一些映射或共享内存区域,以便 内核可以选择适当的预读和缓存技术。 此调用不会影响应用程序的语

我有一个进程,有一些敏感内存,永远不能写入磁盘

我还有一个要求,我需要核心转储来满足客户的首次数据捕获要求

使用mlock()锁定页面是否会阻止页面出现在核心转储中


注意,这是一个嵌入式系统,我们实际上没有任何交换空间。

摘自
man 2 madvise

madvise()系统调用建议内核如何处理 从地址addr开始的地址范围内的分页输入/输出,以及 具有大小长度字节。它允许应用程序告诉内核 它希望如何使用一些映射或共享内存区域,以便 内核可以选择适当的预读和缓存技术。 此调用不会影响应用程序的语义(除了 对于MADV_DONTNEED),但可能会影响其性能。这个 内核可以随意忽略这些建议

特别检查选项
MADV_DONTDUMP

从核心转储中排除addr指定范围内的那些页面 和长度。这在具有大面积应用程序的应用程序中非常有用 已知在核心转储中不有用的内存。影响 MADV_DONTDUMP优先于通过设置的位掩码 /proc/PID/coredump_过滤器文件(参见核心(5))