无论计算机上有多少内存都是不够的,因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用。页面回收的方式有页回写、页交换和页丢弃三种方式:如果一个很少使用的页的后备存储器是一个块设备(例如文件映射),则可以将内存直接同步到块设备,腾出的页面可以被重用;如果页面没有后备存储 ...
分类:
系统相关 时间:
2018-02-13 22:56:12
阅读次数:
234
Linux kernel组织管理物理内存的方式是buddy system(伙伴系统),而物理内存碎片正式buddy system的弱点之一,为了预防以及解决碎片问题,kernel采取了一些实用技术,这里将对这些技术进行总结归纳。 1 低内存时整合碎片 从buddy申请内存页,如果找不到合适的页,则会 ...
分类:
系统相关 时间:
2018-02-13 22:55:36
阅读次数:
243
今天我们来谈谈Linux的内存机制。 首先我们理一下概念 一、什么是linux的内存机制? 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内 ...
分类:
系统相关 时间:
2018-02-13 19:53:20
阅读次数:
258
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
系统相关 时间:
2018-02-13 17:52:30
阅读次数:
224
高端内存是指物理地址大于 896M 的内存。对于这样的内存,无法在“内核直接映射空间”进行映射。 为什么? 因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 1G 的物理内存,无能为力。 实际上,“内核直接映射空间”也达不到 1G, 还得留点线性空间给“内核 ...
分类:
系统相关 时间:
2018-02-12 18:32:47
阅读次数:
220
前言 内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充 斥着大量涉及内存管理的教材和资料。因此,我们这里所要写的Linux内存管理采取避重就轻的策略,从理论层面就不去班门弄斧,贻笑大方了。我们最想做的 和可能做到的是从开发者的角度谈谈对内存管理的理解,最终目的是把我们在内 ...
分类:
系统相关 时间:
2018-02-12 16:56:03
阅读次数:
200
为什么需要swap 根 据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺 利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2倍以上的空间.当然我们在安装Linux的时候,就能直接讲 ...
分类:
系统相关 时间:
2018-02-09 20:32:10
阅读次数:
227
Linux将它的物理内存虚拟化。进程并不能直接在物理内存上寻址,而是由Linux内核为每个进程维护一个特殊的虚拟地址空间(virtualaddressspace)。这个地址空间是线性的,从0开始,到某个最大值。虚拟空间由许多页组成。系统的体系结构以及机型决定了页的大小(页的大小是固定的),典型的页的大小包括4K(32位系统)和8K(64位系统)。每个页面都只有无效(invalid)和有效(vali
分类:
系统相关 时间:
2018-02-06 20:16:39
阅读次数:
276
5.1 Linux内存子系统 在诊断内存性能问题的时候,也许有必要观察应用程序在内存子系统的不同层次上是怎样执行的。在顶层,操作系统决定如何利用交换内存和物理内存。它决定应用程序的哪一块地址空间将被放到物理内存中,即所谓的驻留集。不属于驻留集却又被应用程序使用的其他内存将被交换到磁盘。由应用程序决定向操作系统请求多少内存,即所
分类:
系统相关 时间:
2018-02-05 10:38:28
阅读次数:
160
文章 http://yalung929.blog.163.com/blog/static/203898225201212981731971/ http://huqunxing.site/2017/03/31/linux内存占用分析/ http://blog.yufeng.info/archives/ ...
分类:
其他好文 时间:
2018-02-03 13:00:44
阅读次数:
256