位置: 编程技术 - 正文

Linux用户进程是如何释放内存的(linux 用户进程)

编辑:rootadmin

推荐整理分享Linux用户进程是如何释放内存的(linux 用户进程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux进程使用,linux中的进程是什么,linux用户进程数限制,linux中的进程是什么,linux用户进程可以分为哪三类,linux中的进程是什么,linux 用户进程,linux 用户进程,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux用户进程是如何释放内存的 Linux进程使用内存的基本流程:

Linux用户进程是如何释放内存的(linux 用户进程)

从图中我们可以看出,进程的堆,并不是直接建立在Linux的内核的内存分配策略上的,而是建立在glibc的堆管理策略上的(也就是glibc的动态内存分配策略上),堆的管理是由glibc进行的。所以我们调用free对malloc得到的内存进行释放的时候,并不是直接释放给操作系统,而是还给了glibc的堆管理实体,而glibc会在把实际的物理内存归还给系统的策略上做一些优化,以便优化用户任务的动态内存分配过程。 那么glibc的堆管理器在什么时候才把物理内存归还给系统呢? 它会从堆的最大线性地址开始,从后向前计算用户任务当前有多少空闲的堆内存(直到碰到使用中的堆内存地址为止),比如在该图中:

它会认为有k的可释放内存,只有在该值大于某个特定的threshhold时(2.3.6上为k),它才会把这些内存归还给系统。而在中间的“未使用”内存是不会归还给系统的,所以系统也不可能再利用这块物理内存页(我们假设系统没有swap区和swap文件),也就是说系统的内存会为此减少,除非在它之前的堆内存都用free进行释放以后,glibc的堆管理器才有可能(只是有可能)把该段内存归还给系统。 由此,我们在使用malloc/free时应该小心,特别是在初始化时分配了好多内存,但是在这之后却再也不需要这么多的内存了,而这块内存又没有达到threshhold值或者在堆的最高线性地址处有某块内存没有释放,但是它前面的所有堆内存都释放了;这种情况下,用户任务将会浪费一些物理内存,这在资源比较紧张的嵌入式系统中是不可容忍的。

Linux命令free的输出含义 [root@Linux/tmp]#freetotalusedfreesharedbufferscachedMem:-/+buffers/cache:Swap:第1行total内存总数:used已经使用的内存

Apache 2.0. for Linux 下载 Apache2.0.

PHPMyAdmin 2.7.0-pl1下载 PHPMyAdmin2.7.0-pl1

标签: linux 用户进程

本文链接地址:https://www.jiuchutong.com/biancheng/366268.html 转载请保留说明!

上一篇:kill命令的使用(kill命令用法)

下一篇:Linux命令free的输出含义(-f linux命令)

  • 本期缴纳上期应纳税额是自动生成的吗?
  • 小微企业季度不超过30万怎么报增值税
  • 印花税核定征收管理办法
  • 外来建安企业的税收管理
  • 金蝶软件预收账款明细
  • 普通折叠发票代码是几位数
  • 账簿登记的基本要求
  • 期房购置税怎么算
  • 动漫版权交易
  • 房产企业贷款利率
  • 代扣代缴公积金有返还吗
  • 对方公司不能开发票怎么办
  • 船运费发票抵扣多少税
  • 存货周转天数一般在多少为合适
  • 员工基本养老保险缴纳比例
  • 各税种会计分录
  • 研发支出与开发成本的区别
  • 未分配50g
  • 公司工会发给职工的福利
  • 电子钥匙到期怎么办
  • 什么叫固定资产的确认
  • 代开的发票没有人名行不行?
  • php数组有哪几种类型
  • 坏狼变身记简介
  • 微信支付宝转账最新规定
  • win10平板模式怎么打开
  • 破产资产拍卖
  • php阿里云oss
  • 采用定额法计算产品成本,其程序如何?
  • 固定资产卡片账自固定资产报废后的保管期限是
  • php递归实现1到100的和
  • php取mysql查询单条数据
  • 前端es6是什么意思
  • 已失效是什么意思
  • 预处理数据的方法
  • vue3路由守卫 微信授权登陆
  • vuex用法和原理
  • idea如何运行别人的vue项目
  • users命令
  • 农民专业合作社是什么性质
  • 服装、眼镜、鞋、西药的发票怎么样做账比较好
  • php注册功能
  • 原材料退库的会计分录
  • 循环语句例题及解析
  • 按工资申报的工龄怎么算
  • 资产减值损失是费用吗
  • 负债类科目有借贷方向吗
  • 自定义转账计算所得税费用
  • mysql内存使用率过高
  • 报销招待费的会计科目
  • 夏天单位发防暑茶
  • 事业单位收到发票怎么处理
  • 汽车装修费计入哪个科目
  • 小规模纳税人的金税盘可以抵税吗
  • 资产评估增值的调整方法
  • 利息收入记借方还是贷方
  • 债券发行费用的计算方法
  • 个人报销费用怎么做分录
  • 在sql server中关于数据库的说法正确的是
  • c3p0连接池提供了哪些方式来配置连接池的参数
  • 怎么去掉0前面的逗号
  • 注册表regsz是什么意思
  • Qq浏览器怎么切换成极速模式
  • linux限制用户登录
  • win8.1语言包下载
  • windows10预览版怎么样
  • 删除同步中心图标
  • pcl读取ply文件
  • 全面理解全面把握全面落实
  • 怎么改jdk路径
  • vue-cli 使用 报错
  • unity3d,C#使用sqlite作为数据库解决方案思路
  • javascriptcsdn
  • 如何批量删除列表
  • js newyork
  • bootstrap js插件
  • 工资6200要交多少个人所得税
  • 税务系统怎么修改办税人
  • 泰兴市地方税务局
  • 增值税专用发票怎么开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设