电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>如何降低Linux 内存开销

如何降低Linux 内存开销

2017-11-07 | rar | 0.2 MB | 次下载 | 1积分

资料介绍

物理内存不足可能会严重影响 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 的机器,而不必实际使用另一台物理机器(也不必反复从机器中插拔内存)。这个内核行选项能够足够近似地模拟 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 内存,已经开始使用交换空间了,并且现在实际上还没有开始执行任何操作。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费