在网上看了很多例子,执行CreatIMG.sh 然后将90userinit放在/system/etc/init.d 目录下重启手机后free 查看swap 是否为0,如果不为0表示swap成功否则不成功。不知道其他机友有没有成功,我是一直不成功,经过多次努力试验总算成功。下面谢谢具体的过程:
注意:以下操作都需要root权限。
CreatIMG.sh 和 90userinit都只是2个脚本而已,里面的内容可以修改
CreatIMG.sh 内容如下
mount -o remount,rw /cache; //在cache目录下生成swap.img文件,具体位置可更改 swapoff /dev/block/loop7; dd if=/dev/zero of=/cache/swap.img bs=1024 count=65536; //swap.img的大小为64M,具体大小可更改;但不宜过大 free;
mount -o remount,rw /cache; losetup /dev/block/loop7 /cache/swap.img; //挂载/cache/swap.img mkswap /dev/block/loop7; //生成swap swapon /dev/block/loop7; //打开swap echo 100 > /proc/sys/vm/swappiness;
将CreatIMG.sh文件拷贝到/system 或 /data目录下,并赋予可执行权限, 可通过相关的文件管理器设置。然后在adb shell 中执行如下代码
# cd /system # sh CreatIMG.sh可能会停顿一段时间,执行完成后你会在你的cache目录下发现一个64M大小的swap.img文件
# cd /cache
# ls
dalvik-cache download lost+found recovery swap.img
下一步将90userinit拷贝到/system/etc/init.d/ 目录下并赋予可读和可执行权限。网上很多教程到这里都让用户重启手机后swap就成功了,但我重启多次swap仍然不成功。如果有机友遇到和我一样的情况,那么下面的步骤非常重要,其实就是将90userinit里面的内容在adb shell中运行一次。
当执行完上面的步骤看看swap是否成功,然后你再重启手机就没问题了。
# free total used free shared buffers Mem: 195524 187496 8028 0 1816 -/+ buffers: 185680 9844 Swap: 65528 28644 36884 #