内存及虚拟内存相关的自我理解

1. 电脑中所运行的程序均需经由内存执行。

2. 当内存不足时,拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存

3. RSS指的是常驻内存,我的理解是确确实实正在被该进程使用的内存,即包含了共享的内存以及把被交换的内存(swap)剔除掉了。

最终理解↓

进程所writeable的内存 = { RSS , 自己暂时用不上被别人拿去用掉的内存 }

RSS = { 本身私有的,共享并且在用的{ 自己本身共享出去的,别人共享出来的 } }

 4. xms xmx 限制的应该是指上述所说的进程所writeable/private的内存。

所以top命令查回来的RSS有可能会比xms所限制的还要少。

pmap -x [pid]查回来的writeable∈[xms,xmx]


转化成实例理解:

1. 一个宿舍六个人,每个人交100块宿费,那么这600块就是共享的(shared)

2. 我作为宿舍的一员,我拥有1000块,交了100块宿费之后,手头上还有900块。

3. 宿友A不够钱花了,我从900块里面借出200块给他用,他给我写了张借条(虚拟内存)。

现在我就有700块现金,200块借条,以及600块共享的宿费。

当我要花950块的时候,我可以拿自己的700块+共享250块 = RSS

属于我名下的有1000块,现金700+借条200+共享出去的100 = writeable/private

另外还有个分配给进程的虚拟内存,我的理解是存在银行的钱,非现金。每当要用的时候,还得先去取钱(调度)。

借条200也是非现金,要想用还得先让他还钱(调度,page-in)。但宿费600是现金,我手头的700是现金。

 


求各位大佬给我一个正确的理解,或者补充我上述的自我理解,我脑袋已经乱七八糟了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值