LINUX内存机制是怎么运作

来源:百度文库 编辑:神马文学网 时间:2024/05/01 22:34:37
建议楼主看一下LINUX内存机制是怎么运作的,了解了基础知识,对于理解和操作是有很大帮助的。抛砖引玉:
Linux 优先使用物理内存,当物理内存还有空闲时,linux是不会施放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即时你有2G的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。 你可以用 free 指令查看一下输出,用 used 减去 buffer 和 cache,才是你运行中的程序所占用的空间,举例如下: total     used      free    shared   buffers    cachedMem:   516300   504264  12036     0       88396    236792-/+ buffers/cache: 179076 337224Swap: 1544184 21276 1522908504264 - 88396 - 236792 = 179076也就是说目前正在被使用的内存只有 179 兆。不要被 504兆的used吓住了。 windows则总是给内存留下一定的空闲空间,即时内存有空闲也会让程序使用一些虚拟内存,这样做的好处是,启动新的程序比较快,直接分给它些空闲内存就可以了,而linux下呢?由于内存经常处于全部被使用的状态,则要先清理出一块内存,再分配给新的程序使用,因此,新程序的启动会慢一些。 另外,内存是随机访问的,也就是说,无论你的内存占用了多少,数据的存取时间都是相同的,跟硬盘不同。