• 作者:SenSen
  • 推荐者:BenAngel
  • 上传日期:1/16/2010 3:39:05 AM
  • 来源:机 锋网

最近 hero for G1 的 rom 为了解决频繁出现的 load... 现象引入了 swap 机制,主要采用了两种方式: 1,用程序 swaper 在 TF卡上建立一个 swap 文件,然后将该文件挂载为系统的一个 swap 分区 2,直接在 TF 上加载第三分区:Linux-Swap 分区 这两种方式本质上是一致的,对系统而言,都是挂载了一个 swap 分区。本文基于几个概念的解释来解决以下问题: 1、swap 分区是什么? 2、会提升系统速度吗? 3、有什么缺点? 4、能否避免上述缺点?

概念一:【swap分区】 Linux 的 Swap分区的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可 能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这 样,系统总是在物理内存不够时,才进行Swap交换。关键词——就是虚拟内存。目前 G1 的系统内存明显不够使用,所以建立了 Swap 分区后,可以有效的缓解这个问题。具体在 hero 上表现为 load.. 现象少了。其实在 G1 的 1.5 系统中,也一样有 Load.. 现象。例如浏览器里面同时打开6个页面后,回到桌面;桌面上的图标需要过一会儿才会出现,这就是 Load... 现象,只是没有显示那几个字而已。 *

概念二:【TF 卡】 Micro SD卡也就是熟称的“TF”卡。 T-Flash全名(TransFLash),这是Motorola与SanDisk共同推出的最新一代的记忆卡规格,它采用了最新的封装技术,并配合 SanDisk最新NAND MLC技术及控制器技术。大小(11mm x 15mm x1mm),约等于半张SIM卡,Trans-Flash Card为SD Card产品成员的一员,附有SD转接器,可兼容任何SD读卡器,TF卡可经SD卡转换器后,当SD卡使用。T-Flash卡是市面上最小的闪存卡,适用 于多项多媒体应用.Trans-flash产品采用SD架构设计而成,SD协会于2004年年底正式将其更名为 Micro SD,已成为SD产品中的一员。 关键词——MLC技术

概念三:【MLC】储存单元分为两类:SLC(Single Layer Cell 单层单元)和MLC(Multi-Level Cell多层单元)。SLC的特点是成本高、容量小、速度快 SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平衡技术算法,使得每个存 储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。关键词——1w次的写入寿命目前的 TF 卡无写入次数平均分摊管理,导致写入次数为理论上的 1w次。那么建立 swap 分区意味着系统会对这一组单元集中作频繁写入操作,是否会导致 TF 卡的迅速损坏呢?

概念四:【swappiness】可以通过修改/dev/sys/vm/swappiness的值来告诉系统你想交换的多勤快在 Linux 里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于 ubuntu的默认设置,这个值等于60,建议修改为10或20。关键词——swappiness=10 所以我们可修改 swappiness 来控制系统对 swap 分区的写入频率。如何修改 swappiness 请参考校长贴:图文教程:以修改swappiness参数为例,介绍SUFBS超级大杀器!

SenSen 观点:针对目前 G1 内存严重不足的情况,使用 swap 分区来缓解这一情况是以牺牲 TF 卡寿命为代价的。有的同学说:TF 卡便宜,坏了再卖 or TF 卡有保修,坏了去换。也有同学觉得 TF 卡转移数据还是比较麻烦的,至少涉及到 FAT32 分区和 ext 分区两部分的数据,其中 ext 分区的数据还有权限问题。以上观点仁者见仁智者见智。 BenAngel观点:Swap并不能提高太多的运行速度,它的作用是提高占用大内存软件运行时的内存交换空间,让同一软件内运行得更流畅,同时也提高软 件的后台存活率- -,举例说明,以G1来说,你用浏览器上了个WebQQ,然后出去听听歌,照照像,你的浏览器基本上就自动关闭了,因为内存不足,换句话说WebQQ也掉 线了,用Swap就能有效的改善这个问题。