资料介绍
物理内存不足可能会严重影响 Linux® 的性能。在本文中,我们将学习如何精确地度量 Linux 系统所使用的内存量。还将以 Ubuntu 系统为例学习有关降低内存需求的实践建议。
Linux 广受追捧的一个优点是它比 Microsoft® Windows® 的效率更高,因此在不太前沿的硬件上也能很好地执行。对于依然使用 Windows 98 时代的机器的人来说,最新最卓越的软件(特别是安全补丁)已经不再支持这些机器,因此这种性能优势使 Linux 成为颇具吸引力的升级产品。
然而,问题的真相在于虽然 Linux 内核仍然可以配置成合理的大小和效率,但由于新计算机的处理能力大大加强,很多 Linux 桌面环境(例如 KDE 和 GNOME)都增加了许多特性。因此,在较老的硬件上默认安装大多数发行版时,提供的性能都不是一流的。很多现代应用程序也是如此,例如,Firefox 之类的 Web 浏览器和 OpenOffice 之类的办公套件均功能完备,但是尝试在只有 128MB RAM 的机器上运行这些程序,可能会成为非常痛苦的体验!
该怎么办?丢掉所有旧的硬件然后升级?还是安装 1995 年左右的 Linux 发行版?(如果您决定走这条路,我记得使用 Linux-FT 是一种很好的体验。)
不要担心:多年以前,Linux 社区中的人就已经认识到这个问题,Linux 内核和发行版的一大特性(有人喜欢说 这个 伟大特性)在于其能够定制。本文将介绍如何对 Linux 系统进行裁减,以便在小容量的硬件上获得更好的性能。
内存的作用
在大多数情况下,桌面操作系统性能的一个最重要因素就是系统可用的内存量。虽然拥有快速的处理器效果不错,但是如果没有足够的物理内存保证一直很好地利用处理器,系统可能会花费大量时间用于在物理内存和交换空间之间的交换数据(这种情况称为 磁盘抖动),而 CPU 的大部分时间都是空闲的。因此对于老式的系统来说,额外添加内存通常是提高性能的最简单方法。然而,有很多原因决定了这种方法不太可能,例如缺少空闲插槽,对于一些系统(尤其是笔记本或基于 RAMBUS 的系统)来说,则是缺少买得起的 RAM,以及不希望在一台过期的系统上花更多钱这个容易理解的心理。
如果无法或不愿意升级 RAM,接下来最好减少系统上的 RAM 需求。本文将展示为 Linux 机器打造内存天堂 5 个简单步骤。
步骤 1:选择正确的桌面环境
惟一需要做的重要选择就是要安装的 Linux 发行版和桌面环境(DE)。尽管这是截然不同的选择,但是发行版的选择可能影响 DE 的选择。虽然没有任何东西能够阻挡您在系统上安装软件,例如在 Ubuntu 上安装 Fluxbox;但是您会发现如果简单地使用发行版所附带的默认 DE,一切就会轻松很多。
在本文方案中,目标是寻找面向桌面的简单发行版,以便于新用户使用。我从 Ubuntu 6.10 开始入手,它和 GNOME 2.16 一起推出。
对于基本系统来说,我选择了一台配有 800MHz 处理器和 256MB RAM 的老机器。我将执行了两次测试,一次使用全部 256MB RAM 正常引导,一次在内核行上附加了 mem=128M,这会强制内核只识别 128MB 物理内存。这样就可以有效地试验 256MB 和 128MB 的机器,而不必实际使用另一台物理机器(也不必反复从机器中插拔内存)。这个内核行选项能够足够近似地vwin 128 MB 的机器的行为;注意,如果真的只有 128MB 内存,可能会遇到其他问题,举例来说,要使用 Ubuntu,必须使用一个不同于普通机器磁盘的安装盘,它是专门为少于 192MB RAM 的机器准备的。
为了了解基本水平的内存使用情况,引导该系统,登录到桌面系统,并启动一个终端(在本文后面的内容中,我将这种设置称为 基本使用水平(base level));然后使用 free 命令来检查系统中的空闲内存量,结果如清单 1 所示。
清单 1. Ubuntu 在 256MB 机器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 231704 24284 0 6432 139292
-/+ buffers/cache: 85980 170008
Swap: 746980 0 746980
第一行说明 256MB RAM 中有 231MB “正在使用”。下一行告诉我们尽管有 231MB 内存正在使用,但是应用程序只使用了其中的 86MB;缓冲区和高速缓存使用了其余的内存。
要评价性能,该清单中最重要的部分是 Swap 一行;它告诉我们当前没有使用任何交换空间,这说明目前没有真正遇到内存问题。系统现在可以全部装入物理内存,而不必借助慢速的基于磁盘的交换空间。
然后,为了了解系统的日常使用情况,启动一个 Web 浏览器(Firefox 2.0),然后用其打开 developerWorks,将即时消息客户机(Gaim)连接到 MSN,并使用文件管理器来浏览文件夹,又在 OpenOffice 中打开一个相当大的 Microsoft Word 格式的文档。(在本文剩余的部分中,将这种设置称为 轻量级使用水平(light usage level)。)
一旦成功加载这些之后, free 命令将如清单 2 所示。
清单 2. Ubuntu 在 256MB 机器上的轻量级使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 252196 3792 0 21276 87500
-/+ buffers/cache: 143420 112568
Swap: 746980 18676 728304
可以看到内存部分稍有变化。现在应用程序使用了 143MB 的物理内存,其余的内存均被缓冲区占用;另外,系统现在使用了 18MB 的交换空间。在这种轻量级的办公任务情况下,系统的可用性通常看起来很不错,但是已经没有太多发展空间了,可能无法进行需要资源更多的操作,例如编辑巨大的数字照片或视频文件,因为系统很快就会在处理时发生停歇。
为了了解系统在只有 128MB 时的执行情况,我重新引导了系统,并在内核行后面附加了 mem=128M 选项,就像前面介绍的一样。在与清单 1 同样的基本使用水平上,使用 128MB RAM 得到的结果如清单 3 所示。
清单 3. Ubuntu 在 128MB 机器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 126100 121464 4636 0 1636 37000
-/+ buffers/cache: 82828 43272
Swap: 746980 17924 729056
可以看到现在只使用了 128MB 内存,已经开始使用交换空间了,并且现在实际上还没有开始执行任何操作。
Linux 广受追捧的一个优点是它比 Microsoft® Windows® 的效率更高,因此在不太前沿的硬件上也能很好地执行。对于依然使用 Windows 98 时代的机器的人来说,最新最卓越的软件(特别是安全补丁)已经不再支持这些机器,因此这种性能优势使 Linux 成为颇具吸引力的升级产品。
然而,问题的真相在于虽然 Linux 内核仍然可以配置成合理的大小和效率,但由于新计算机的处理能力大大加强,很多 Linux 桌面环境(例如 KDE 和 GNOME)都增加了许多特性。因此,在较老的硬件上默认安装大多数发行版时,提供的性能都不是一流的。很多现代应用程序也是如此,例如,Firefox 之类的 Web 浏览器和 OpenOffice 之类的办公套件均功能完备,但是尝试在只有 128MB RAM 的机器上运行这些程序,可能会成为非常痛苦的体验!
该怎么办?丢掉所有旧的硬件然后升级?还是安装 1995 年左右的 Linux 发行版?(如果您决定走这条路,我记得使用 Linux-FT 是一种很好的体验。)
不要担心:多年以前,Linux 社区中的人就已经认识到这个问题,Linux 内核和发行版的一大特性(有人喜欢说 这个 伟大特性)在于其能够定制。本文将介绍如何对 Linux 系统进行裁减,以便在小容量的硬件上获得更好的性能。
内存的作用
在大多数情况下,桌面操作系统性能的一个最重要因素就是系统可用的内存量。虽然拥有快速的处理器效果不错,但是如果没有足够的物理内存保证一直很好地利用处理器,系统可能会花费大量时间用于在物理内存和交换空间之间的交换数据(这种情况称为 磁盘抖动),而 CPU 的大部分时间都是空闲的。因此对于老式的系统来说,额外添加内存通常是提高性能的最简单方法。然而,有很多原因决定了这种方法不太可能,例如缺少空闲插槽,对于一些系统(尤其是笔记本或基于 RAMBUS 的系统)来说,则是缺少买得起的 RAM,以及不希望在一台过期的系统上花更多钱这个容易理解的心理。
如果无法或不愿意升级 RAM,接下来最好减少系统上的 RAM 需求。本文将展示为 Linux 机器打造内存天堂 5 个简单步骤。
步骤 1:选择正确的桌面环境
惟一需要做的重要选择就是要安装的 Linux 发行版和桌面环境(DE)。尽管这是截然不同的选择,但是发行版的选择可能影响 DE 的选择。虽然没有任何东西能够阻挡您在系统上安装软件,例如在 Ubuntu 上安装 Fluxbox;但是您会发现如果简单地使用发行版所附带的默认 DE,一切就会轻松很多。
在本文方案中,目标是寻找面向桌面的简单发行版,以便于新用户使用。我从 Ubuntu 6.10 开始入手,它和 GNOME 2.16 一起推出。
对于基本系统来说,我选择了一台配有 800MHz 处理器和 256MB RAM 的老机器。我将执行了两次测试,一次使用全部 256MB RAM 正常引导,一次在内核行上附加了 mem=128M,这会强制内核只识别 128MB 物理内存。这样就可以有效地试验 256MB 和 128MB 的机器,而不必实际使用另一台物理机器(也不必反复从机器中插拔内存)。这个内核行选项能够足够近似地vwin 128 MB 的机器的行为;注意,如果真的只有 128MB 内存,可能会遇到其他问题,举例来说,要使用 Ubuntu,必须使用一个不同于普通机器磁盘的安装盘,它是专门为少于 192MB RAM 的机器准备的。
为了了解基本水平的内存使用情况,引导该系统,登录到桌面系统,并启动一个终端(在本文后面的内容中,我将这种设置称为 基本使用水平(base level));然后使用 free 命令来检查系统中的空闲内存量,结果如清单 1 所示。
清单 1. Ubuntu 在 256MB 机器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 231704 24284 0 6432 139292
-/+ buffers/cache: 85980 170008
Swap: 746980 0 746980
第一行说明 256MB RAM 中有 231MB “正在使用”。下一行告诉我们尽管有 231MB 内存正在使用,但是应用程序只使用了其中的 86MB;缓冲区和高速缓存使用了其余的内存。
要评价性能,该清单中最重要的部分是 Swap 一行;它告诉我们当前没有使用任何交换空间,这说明目前没有真正遇到内存问题。系统现在可以全部装入物理内存,而不必借助慢速的基于磁盘的交换空间。
然后,为了了解系统的日常使用情况,启动一个 Web 浏览器(Firefox 2.0),然后用其打开 developerWorks,将即时消息客户机(Gaim)连接到 MSN,并使用文件管理器来浏览文件夹,又在 OpenOffice 中打开一个相当大的 Microsoft Word 格式的文档。(在本文剩余的部分中,将这种设置称为 轻量级使用水平(light usage level)。)
一旦成功加载这些之后, free 命令将如清单 2 所示。
清单 2. Ubuntu 在 256MB 机器上的轻量级使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 252196 3792 0 21276 87500
-/+ buffers/cache: 143420 112568
Swap: 746980 18676 728304
可以看到内存部分稍有变化。现在应用程序使用了 143MB 的物理内存,其余的内存均被缓冲区占用;另外,系统现在使用了 18MB 的交换空间。在这种轻量级的办公任务情况下,系统的可用性通常看起来很不错,但是已经没有太多发展空间了,可能无法进行需要资源更多的操作,例如编辑巨大的数字照片或视频文件,因为系统很快就会在处理时发生停歇。
为了了解系统在只有 128MB 时的执行情况,我重新引导了系统,并在内核行后面附加了 mem=128M 选项,就像前面介绍的一样。在与清单 1 同样的基本使用水平上,使用 128MB RAM 得到的结果如清单 3 所示。
清单 3. Ubuntu 在 128MB 机器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 126100 121464 4636 0 1636 37000
-/+ buffers/cache: 82828 43272
Swap: 746980 17924 729056
可以看到现在只使用了 128MB 内存,已经开始使用交换空间了,并且现在实际上还没有开始执行任何操作。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式 Linux 中的内存管理
- 基于内存关联分析的内存预拷贝迁移策略 14次下载
- 一种基于内存关联分析的预拷贝迁移策略 9次下载
- 基于机器学习的内存泄漏测试脚本预测方法 29次下载
- Linux 内核新增的异构内存管理(HMM)会带来什么不一样?资料下载
- 伙伴算法如何才能在Linux内核中实现应用及其改进 14次下载
- Linux入门教程之Linux的内核详细资料概述 10次下载
- 嵌入式装置内存泄漏检测系统设计 3次下载
- 基于线段树的内存管理方法 2次下载
- 高精度、低开销的单包溯源方法 0次下载
- linux内存管理 3次下载
- linux内存管理机制浅析 73次下载
- Linux内存管理导读 39次下载
- SDH开销和指针
- Linux内存管理中的Slab分配机制
- Linux内核内存管理架构解析 539次阅读
- Linux内核内存规整总结 1135次阅读
- 在Linux上使用和不使用交换空间的区别 1520次阅读
- Linux内存管理体系介绍 1459次阅读
- Linux操作系统知识讲解:走进Linux 内存分配算法 5324次阅读
- Linux操作系统知识讲解:走进linux 内存地址空间 4903次阅读
- Linux操作系统知识讲解:走进内存 2255次阅读
- Linux:测试进程占用的虚拟内存大小 2762次阅读
- Linux内存组织结构和页面布局 6706次阅读
- 如何管理Linux 的内存分页? 3713次阅读
- 关于Linux内存模型的介绍 4184次阅读
- Linux内核地址映射模型与Linux内核高端内存详解 3397次阅读
- 如何避免Linux的物理内存碎片化 5371次阅读
- 基于Linux内存管理与Android内存分配机制 6128次阅读
- Linux资料汇总之内存管理 4328次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多