开发者社区> 问答> 正文

我要对我的Linux应用程序调优,我想学习一下虚拟内存管理的概念?

已解决

我要对我的Linux应用程序调优,我想学习一下虚拟内存管理的概念?

展开
收起
我是小美女 2021-11-01 14:23:02 1815 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,操作系统的物理内存架构对于应用和用户来说通常是不可见的,因为操作系统会把任何的物理内存都映射到虚拟内存中。如果我们想要理解在Linux操作系统中的调优的可能性,我们必须理解Linux如何处理虚拟内存。应用并不能申请物理内存,但当向Linux内核请求一定大小的内存映射,得到的是一个虚拟内存的映射。如下图,虚拟内存不一定要映射到物理内存中。如果你的应用申请了大量的内存,这些内存中的一部分可能映射到磁盘的swap文件中。

    图展示了,应用程序通常直接写不直接写磁盘,而是直接写缓存(cache)或缓冲(buffer)。当pdflush内核线程空闲或者文件大小超出了缓存缓冲大小时,pdfflush内核线程会将缓存/缓冲的数据清空并写入到磁盘中。参阅“清空脏缓冲”。 image.png Linux虚拟内存管理

    Linux内核处理物理磁盘的写操作与Linux管理磁盘缓存紧密相连。其他的操作系统只分配部分内存作为磁盘缓存,而Linux处理内存资源则更加有效。默认的虚拟内存管理配置分配所有可用的空闲内存作为磁盘的缓存。因此在拥有大量内存的Linux系统中,经常看到只有20MB的空闲内存。

    在相同的情况下,Linux管理swap空间也非常有效率。swap空间被使用时并不意味着出现内存的瓶颈,它恰恰证明了Linux管理系统资源如何的有效。

    2021-11-01 14:30:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 技术揭秘 立即下载
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载