memory zone spanned/present/managed区别

这两天研究memory zone的水位问题涉及到两个参数分别是/proc/sys/vm/extra_free_kbytes以及min_free_kbytes。

而通过代码发现min_free_kbytes这个值和normal zone下的managed pages决定。

先说总的关系:

spanned:表示当前zone所包含的所有的pages

present:表示当前zone在去掉第一阶段kernel reserve的内存之后剩下的pages。

managed:表示当前zone去掉初始化完成以后所有的kernel reserve的内存剩下的pages。

其中min_free_kbytes由normal zone去掉第一阶段初始化完成后的kernel reserve以及管理该zone所需要的page struct所占用的内存后所剩余的pages来计算得出min_free_kbytes.

ps:kernel reserve部分内存的初始化在kernel启动过程中可能会而分为两个阶段。

后续会通过代码来详细讲解此问题。

猜你喜欢

转载自blog.csdn.net/zsj100213/article/details/80696451