Linux进程内存方案[关闭]

Posted

技术标签:

【中文标题】Linux进程内存方案[关闭]【英文标题】:Linux process memory scheme [closed] 【发布时间】:2013-03-20 00:05:47 【问题描述】:

AFAIK 有一个存储内核相关数据的进程内存分区,它被标记为只读。

我找不到事实解释为什么会发生这种情况,这个区域的目的是什么以及为什么要将它包含在每个进程内存空间中?

【问题讨论】:

做一个cat /proc/self/maps 并阅读更多关于它的输出。 【参考方案1】:

就像用户模式内存空间一样,内核需要自己的代码段 (RX)、数据段 (R/RW) 和线程堆栈帧 (RW)。

我不会说它需要包含在进程内存空间中,而是说它是内核始终驻留的地方。与进程之间发生上下文切换时会被替换的进程内存空间不同,内核空间(32 位 >=0xC0000000 和 64 位 >=0xFFFFFFFF80000000)在整个过程中永远不会被替换。

这是一项必要的要求,因为系统上只有一个内核,并且它必须始终保持在内存(虚拟)中的同一位置,以处理系统调用、中断和运行各种内核任务。

【讨论】:

以上是关于Linux进程内存方案[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux下如何创建和监控子进程? [关闭]

如何在 Linux 中获取一个进程的内存 [重复]

linux 命令ps -aux 查看进程所占内存大小,怀疑一个进程存在内存泄露,每个一段时间,内存大小增加4kB

linux的活动进程中有个zombie是啥

进程内存映射 (Linux Windows)

linux下shutdown无法关闭tomcat进程的解决方式