Chinaunix首页 | 论坛 | 博客
  • 博客访问: 270034
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 8
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-13 16:43
个人简介

峰巅之上,领驭王者。

文章分类

全部博文(58)

文章存档

2013年(58)

分类: LINUX

2013-05-21 18:03:10

   欢迎来到凌阳教育 课堂,linux系统内存如何分配? linux 优先使用物理内存,当物理内存还有空闲时,linux是不会施放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即时你有2G的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。
    
    你可以用 free 指令查看一下输出,用 used 减去 buffer 和 cache,才是你运行中的程序所占用的空间,这是我的输出:
    
    total used free shared buffers cached
    Mem: 516300 504264 12036 0 88396 236792
    -/+ buffers/cache: 179076 337224
    Swap: 1544184 21276 1522908
    504264 - 88396 - 236792 = 179076
    也就是说目前正在被使用的内存只有 179 兆。不要被 504兆的used吓住了。
    
    windows则总是给内存留下一定的空闲空间,即时内存有空闲也会让程序使用一些虚拟内存,这样做的好处是,启动新的程序比较快,直接分给它些空闲内存就可以了,而linux下呢?由于内存经常处于全部被使用的状态,则要先清理出一块内存,再分配给新的程序使用,因此,新程序的启动会慢一些。
    
    另外,内存是随机访问的,也就是说,无论你的内存占用了多少,数据的存取时间都是相同的,跟硬盘不同。
  
   更多相关可登录我们的嵌入式linux技术答疑栏目:
阅读(808) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~