首页 > 教育学习 > 为什么 > Linux 的内存显示只有 95% 被使用了,其他的呢?

Linux 的内存显示只有 95% 被使用了,其他的呢?
2012-01-19 20:31:31   来源:   点击:

    Linux 的内存显示只有 95% 被使用了,其他的呢?#free 95%的内存都是used, 虚拟内存基本没用. 使用 #top 命令查看, 上面的信息也表明95%内存被使用, 而cpu的使用率就很低(0.2%us). 但是下面进程信息表明大部分的进程都没怎么用内存(加在一起10%都不到), 那么其他内存跑哪去了呢?

    2 个答案

    • 答案 1:

      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那样总喜欢空出一大块内存才能心安,那样是在浪费资源
    • 答案 2:

      Linux中被使用过的内存是不会主动释放的,会被当作cache用,到内存紧张的时候系统会自动清理缓存。你非要释放内存就手动sync一下,方法请google。

相关热词搜索:

上一篇:为什么现在淘宝上的软盘依然有卖,而且销量还不错?
下一篇:为什么上不了豆瓣社区?