由于路由的ROM不大,装完OPENWRT之后基本上就所剩无几了。为了更方便的折腾,就需要使用U盘扩大系统的容量。下面就分享一下我的扩容过程。
方法
  1. Compressed memory
    Mac OS X Mavericks增加了一个新特性——压缩内存。WWDC 2013上特别介绍了这个特性。
    懒得写压缩内存的说明,抄一段TualatriX的博客吧:
    我先来简单介绍下什么是「Compressed Memory」。
    Active memory:活跃的内存,比方可以说是开个5个App,每个占用了100M,那么就有500M活跃内存;
    Inactive memory:非活跃的内存,比如关掉了三个App,那么这三个App占用的共300M内存就不再是活跃了,但是内核还会保留它。如果这时立马再启动这三个App,就会以非常快的速度打开了,因为还没有被其他App占用的Inactive memory这时又被激活了。如果很长一段时间内这些非活跃内存都没有再用的话,随着系统内存占用增加,这些非活跃内存也会被清空而用做新的用途。
    那么Compressed Memory在其中扮演什么角色呢?很简单,它尽可能久的保留那些会用到的非活跃内存,以使系统更快的响应潜在的第二次响应。但是为了照顾新的内存需求,内核会压缩这些非活跃内存以腾出空间,以供新的App使用。
    大概就是这么个过程,一般我们会觉得「压缩」而联想到这项技术省了内存,实际上Compressed Memory的核心价值在于是它加快了整个系统的响应速度。
    当然,压缩和解压缩需要消耗一点CPU,但是现在的电脑,大多数情况下,瓶颈在内存而不是CPU。
    加粗部分摘自网络
    zram
    WWDC不会告诉你的是,相似的特性Linux下早有了,叫zram,2009年的时候就进了kernel的staging。现在大部分发行版应该都支持了。Google的Chrome OS默认开启。
    启用很简单,Ubuntu(Precise以上版本),直接sudo apt-get install zram-config就行。zram-config会自动搞定一切。
    其他系统的话,在/etc/rc.local里加入:
    # 加载zram模块
     modprobe zram && 
    # 分配部分内存作zram,大小建议为总内存的10%-25%,这里分配了512M. 
    echo $((512*1024*1024)) > /sys/block/zram0/disksize && 
    # 启用zram设备为swap。zram的原理就是分出一块内存当swap分区用,其中的数据是压缩的,这样速度快,而且占用空间小。 
    mkswap /dev/zram0 && 
    # 给zram设备分配一个高优先级,否则要是放着zram不用,去用硬盘上的swap分区就欲哭无泪了 
    swapon -p 10 /dev/zram0 && 
    # rc.local要求最后返回0 
    exit 0
    这样就可以了。
    zswap & zcache
    内核比较新的童鞋还可以尝试下zswap和zcache,是类似zram的技术。