前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 内核 内存管理】虚拟地址空间布局架构 ④ ( 内存描述符 mm_struct 结构体成员分析 | hiwater_rss | start_code | start_brk )

【Linux 内核 内存管理】虚拟地址空间布局架构 ④ ( 内存描述符 mm_struct 结构体成员分析 | hiwater_rss | start_code | start_brk )

作者头像
韩曙亮
发布2023-03-30 14:26:35
3850
发布2023-03-30 14:26:35
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、mm_struct 结构体成员分析


mm_struct 结构体 在 Linux 源码 linux-4.12\include\linux\mm_types.h#359 位置 ;

参考 【Linux 内核 内存管理】虚拟地址空间布局架构 ② ( 用户虚拟地址空间组成 | 内存描述符 mm_struct 结构体源码 ) 博客 ;

下面开始分析 mm_struct 结构体 的重要 成员 ;

1、hiwater_rss 成员

unsigned long hiwater_rss 表示 进程 的 最大 页框 数量 ;

代码语言:javascript
复制
	unsigned long hiwater_rss;	/* High-watermark of RSS usage */

2、hiwater_vm 成员

unsigned long hiwater_vm 表示 进程 的 线程区 最大页数 ;

代码语言:javascript
复制
	unsigned long hiwater_vm;	/* High-water virtual memory usage */

3、total_vm 成员

unsigned long total_vm 表示 进程的 虚拟地址空间 的总页数

代码语言:javascript
复制
	unsigned long total_vm;		/* Total pages mapped */

4、locked_vm 成员

unsigned long locked_vm 表示 内存页被锁住 的 个数 , 这些内存页不能被换出 ;

代码语言:javascript
复制
	unsigned long locked_vm;	/* Pages that have PG_mlocked set */

5、start_code、end_code、 start_data、 end_data 成员

start_code 表示 代码段 的 起始地址 , end_code 表示 代码段 的 结束地址 , start_data 表示 数据段 的 起始地址 , end_data 表示 数据段 的 结束地址 ;

代码语言:javascript
复制
	unsigned long start_code, end_code, start_data, end_data;

6、start_brk、 brk、 start_stack 成员

start_brk 是 " 堆内存 " 的 起始地址 , brk 是 " 堆内存 " 的 终止地址 , start_stack 是 " 栈内存 " 的 起始地址 ;

代码语言:javascript
复制
	unsigned long start_brk, brk, start_stack;

7、arg_start、 arg_end、env_start、 env_end 成员

arg_start, arg_end 是 参数字符串 的 起始地址 和 结束地址 ; env_start, env_end 是 环境变量 的 起始地址 和 结束地址 ;

代码语言:javascript
复制
	unsigned long arg_start, arg_end, env_start, env_end;

8、context 成员

mm_context_t context , 表示 处理器架构 特定的 内存管理 上下文 ;

代码语言:javascript
复制
	/* Architecture-specific MM context */
	mm_context_t context;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、mm_struct 结构体成员分析
    • 1、hiwater_rss 成员
      • 2、hiwater_vm 成员
        • 3、total_vm 成员
          • 4、locked_vm 成员
            • 5、start_code、end_code、 start_data、 end_data 成员
              • 6、start_brk、 brk、 start_stack 成员
                • 7、arg_start、 arg_end、env_start、 env_end 成员
                  • 8、context 成员
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档