亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述Linux 内核 内存管理分区伙伴分配器 ⑥ ( zone 结构体中水线控制相关成员 | 在 Ubuntu 中查看内存区域水位线 )相关的知识,希望能为你提供帮助。
文章目录
- ??一、zone 结构体中水线控制相关成员 ( managed_pages | spanned_pages | present_pages )??
- ??二、在 Ubuntu 中查看内存区域水位线??
?
?WMARK_HIGH?
?? 高水位 , ??WMARK_LOW?
?? 低水位 , ??WMARK_MIN?
?? 最低水位 , enum zone_watermarks
WMARK_MIN,
WMARK_LOW,
WMARK_HIGH,
NR_WMARK
;
#define min_wmark_pages(z) (z-> watermark[WMARK_MIN])
#define low_wmark_pages(z) (z-> watermark[WMARK_LOW])
#define high_wmark_pages(z) (z-> watermark[WMARK_HIGH])
源码路径 : linux-4.12\\include\\linux\\mmzone.h#255
一、zone 结构体中水线控制相关成员 ( managed_pages | spanned_pages | present_pages )在 linux 内核源码中 描述 " 内存区域 " 的结构体 ?
?struct zone?
? 中 , 有几个重要的参数 , 用于 控制 区域水线水位 :?
?managed_pages?
? 成员 表示 伙伴分配器 管理的 物理页个数 ;
使用 如下 公式进行计算 :?
?spanned_pages?
? 成员 表示 内存区域 的 所有可用物理页 个数 , 包括 内存空洞 ;
使用 如下 公式进行计算 :【Linux 内核 内存管理分区伙伴分配器 ⑥ ( zone 结构体中水线控制相关成员 | 在 Ubuntu 中查看内存区域水位线 )】
推荐阅读
- Linux 内核 内存管理分区伙伴分配器 ⑤ ( 区域水线 | 区域水线数据结构 zone_watermarks 枚举 | 内存区域 zone 中的区域水线 watermark 成员 )
- SpringBoot--JWT的后端搭建前后分离
- 从面试角度一文学完Kafka
- Linux 内核 内存管理分区伙伴分配器 ⑦ ( z->watermark[WMARK_MIN] 最低水位计算 | min_free_kbytes 初始化 )
- Redis实现并发阻塞锁方案
- Linux 内核 内存管理memblock 分配器 ③ ( memblock_region 内存块区域 | memblock_region 结构体成员分析 | memblock 分配器标志位 )
- 带你彻底吃透Spring
- redis优化系列高可用集群Redis Cluster的认识
- Linux 内核 内存管理伙伴分配器 ② ( 伙伴分配器分配内存流程 )