1.linux内存管理机制和windows是不同的。

Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样新程序启动速度就较快。但是这样无论你的真实物理内存有多少,他都要拿硬盘交换文件来读,硬盘又怎么会快得过内存呢.

而Linux则不然,在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时,不会释放其占用的内存,所以读写数据是很快的。当内存使用紧缺时,才会调用swap空间。所以在linux下,只要不是常常大量的使用swap交换空间,就不用担心自己的内存问题。

2.free -m 命令可以查看当前的内存使用情况,需要关注的是第三行的-/+ buffers/cache和第四行的Swap, 而不是第二行Mem。而sync命令可以强制将当前物理内存写入硬盘中。

3.释放内存本来就该是系统干的事情,不应该让用户手动去随意地维护,这个是系统级的安全设计要求,Windows下允许第三方软件随便清内存,这在操作系统设计的角度来说是个很大的隐患。所以Vista和Win7也已经开始规范这些。

内存是来用的,不是来看的,使用linux不用像windows那样总喜欢空出一大块内存才能心安,那样是在浪费资源。

分类: 源码分享 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录