如何降低Linux 内存开销
-/+ buffers/cache: 82828 43272 Swap: 746980 17924 729056
可以看到现在只使用了 128MB 内存,已经开始使用交换空间了,并且现在实际上还没有开始执行任何操作。
启动同一组应用程序产生的结果如清单 4 所示。
清单 4. Ubuntu 在 128MB 机器上的轻量级使用水平ubuntu # free total used free shared buffers cached Mem: 126100 123608 2492 0 392 51208 -/+ buffers/cache: 72008 54092 Swap: 746980 98452 648528
从这些数字中可以预测出,现在该机器在正常使用时的响应能力非常低,对于这些简单任务来说基本上还可以使用,但是会非常频繁地访问磁盘,我肯定不喜欢使用它作为自己的主要机器。可以看到应用程序需要的内存总量大约是 170MB,但内存中只装入了 72MB,因此 98MB 被转移到交换空间。这有助于解释系统响应能力降低的原因!
下一组测试,我决定使用 Xubuntu,这是与 Ubuntu 有关项目的发行套件。这个发行版与 Ubuntu 非常类似,但使用了 Xfce 4.4 Beta 2 DE,而不是 GNOME。与更为流行的 GNOME 和 KDE 项目不同(它们强调的是实现最佳功能),Xfce 被设计成轻量级的,因此有望更好地满足过期硬件的要求。我们将使用这个发行版执行与 Ubuntu 相同的测试。
在清单 5 中可以看出基本 DE 大约少使用了 25MB 的应用程序内存,并且缓冲区和缓存所使用的内存显著少于 Ubuntu(这可能意味着文件操作较少)。
清单 5. Xubuntu 在 256MB 机器上的基本使用水平xubuntu # free total used free shared buffers cached Mem: 255988 170964 85024 0 6004 104700 -/+ buffers/cache: 60260 195728 Swap: 746980 0 746980
在清单 6 中,再次启动那套测试应用程序(Web 浏览器、IM 客户机和文字处理器)。可以看到对于相同的应用程序组合,所需的内存比 Ubuntu 大约减少了 20MB(其中 126MB 位于物理内存,17MB 位于交换空间,总共是 143 MB;在 Ubuntu 上是 143MB 加 18MB,总共是 161MB)。
清单 6. Xubuntu 在 256MB 机器上的轻量级使用水平xubuntu # free total used free shared buffers cached |