资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
自动开启虚拟内存,无须自动开启虚拟内存,无须 swapper2swapper2 软件软件机锋首发,转载请注明出处机锋首发,转载请注明出处首先简单的向大家介绍一下 swap 虚拟内存的原理,可简单描述为:当系 统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以 供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没 有什么操 作的程序,这些被释放的空间被临时保存到 Swap 空间中,等到那些程序要运行 时,再从 Swap 中恢复保存的数据到内存中。这样,系统总是在物理内 存不够 时,才进行 Swap 交换。那这样是不是 swap 空间越大越好呢,根据我的经验, 可能不是这样喔!太大的 swap 空间会造成 kernel 以为有巨大的内存空间而 毫不节制的想要把数据捉进内存中,从而导致 kernel 一直在做 memory swap,进而连带拖慢系统响应时间。用过 swapper 2 的同学都知道要设置一个 swappiness,他的作用就是当实际内存低于这个值的时候就进行交换,在 /proc/sys/vm/下面就有一个 swappiness 文件,内容不多只有一个数字而已, 不信的话可以自己去看一看! 上面的看不懂无所谓,嘿嘿,就当是我装十三使用的,下面才是正题! 首先大家需要有一个 swap 分区(本人的 GT540 数据,其他手机根据自身情况设 置)手机进入 recovery,advanced(高级) Partition SD Card 对 SD 卡 分区(分区功能就在这里,看这里,看这里) 注意:1、swap 分区大小建议 64 或者 128 自己看情况(本人 128M)2、进行这一步之前请首先做好 SD 卡备份,数据丢失本人不负责! 然后大家需要这个工具包本帖隐藏的内容需要回复才可以浏览本帖隐藏的内容需要回复才可以浏览(2(2 周后自动解除隐藏周后自动解除隐藏) )自动挂载自动挂载 swap.rarswap.rar (235.58 KB) 下载下来解压,让手机和电脑正常连接,然后双击包中的“点击我开启 swap 脚 本.bat”文件既可自动开机挂载 swap 空间虚拟内存,然后把你的 swapper2 卸 载了,重新开机在模拟终端中使用 free 命令查看,第二行就是你的 swap 虚拟 内存使用情况!+分割线+下面是进阶篇,看不懂的就算了,也当本人装十三吧!1. #!/system/bin/sh 2. #重新挂载 system 读写 3. echo “preparing system.“ 4. mount -o remount,rw /system 5. 6. #检测以前是否存在 /system/bin/swap 7. echo “checking for swap installation.“ 8. if -e /system/bin/swap ; 9. then 10. echo “swap already enabled, exiting.“ 11. mount -o remount,ro /system 12. exit 13.fi 14.#创建/system/bin/swap 文件 15.echo “checking for swap partition“ 16.if -e /dev/block/mmcblk0p2 -a -e /dev/block/mmcblk0p3 ; 17. then 18. touch /system/bin/swap 19. echo #!/system/bin/sh /system/bin/swap 20. echo /system/bin/swap 21. echo bprop=/system/build.prop /system/bin/swap 22. echo /system/bin/swap 23. echo swapon=$(cat $bprop | egrep -c -i -o ro.config.swap=1) /system/bin/swap 24. echo if “$swapon“ = “1“ -a -e /dev/block/mmcblk0p3 ; then /system/bin/swap 25. echo echo 60 /proc/sys/vm/swappiness /system/bin/swap 26. echo swapon /dev/block/mmcblk0p3 /system/bin/swap 27. echo fi /system/bin/swap 28. echo exit 0 /system/bin/swap 29.fi 30. 31.system 读写权限 32.if “ls /sbin|grep -q recovery;echo $?“ = “0“ ; 33.then 34. mount -a /dev/null 35. recoverymode=y36.else 37. mount -o rw,remount /system 38. recoverymode=n 39.fi 40. 41.#设置开机脚本 42.echo “preparing startup scripts.“ 43.echo /system/etc/init.local.rc 44.echo /system/etc/init.local.rc 45.echo #Swap - Safe to Delete: Start # /system/etc/init.local.rc 46.echo “ /system/etc/init.local.rc 47.echo service swap /system/bin/swap /system/etc/init.local.rc 48.echo user root /system/etc/init.local.rc 49.echo group shell /system/etc/init.local.rc 50.echo disabled /system/etc/init.local.rc 51.echo oneshot /system/etc/init.local.rc 52.echo /system/etc/init.local.rc 53.echo on property:init.svc.bootanim=running # to correct timin /system/etc/init.local.rc 54.echo start swap /system/etc/init.local.rc 55.echo /system/etc/init.local.rc 56. 57.#设置 swap 权限 58.chmod 777 /system/bin/swap 59.chown root:shell /system/bin/swap 60. 61.#添加 /system/build.prop 系统默认 62.echo /system/build.pro 63.echo ro.config.swap=1 /system/build.prop 64. 65.#重新挂载 system 只读 66.sleep 1 67.mount -o ro,remount /system 68.echo “done.“ 69.exit复制代码 swap 文件是真正的开机服务文件,就是在开机动画时运行这个服务达到开启虚 拟内存的效果 build.prop 文件主要是和一些系统默认设置相关,做过 ROM 的肯定都知道这个 文件 init.local.rc 开机进程文件,控制开机动画,开机音乐等内容简简单单的给脚本添加了一些注释,能看懂则就能看懂,看不懂则也看不懂 原理就是通过运行这个脚本来创建 swap 服务文件,设置在开机播放开机动画的 时候运行 swap 服务,达到开启虚拟内存的目的!+分割线分割线+有些机油问我如果只有两个分区(一个 fat32 一个 swap)怎么办,呵呵,很简 单,改三行代码就 OK 啦! 第一行:1. if -e /dev/block/mmcblk0p2 -a -e /dev/block/mmcblk0p3 ;复制代码 改成1. if -e /dev/block/mmcblk0p2 ;复制代码 第二行1. echo if “$swapon“ = “1“ -a -e /dev/block/mmcblk0p3 ; then /system/bin/swap复制代码 改成1. echo if “$swapon“ = “1“ -a -e /dev/block/mmcblk0p2 ; then /system/bin/swap复制代码 第三行1. echo swapon /dev/block/mmcblk0p3 /system/bin/swap复制代码 改成1. echo swapon /dev/block/mmcblk0p2 /system/bin/swap复制代码 除此之外还可以利用这个原理来达到开启开机音乐的目的,脚本可能不同,但 是原理一样! +分割线分割线+ 如果你没有分区不想使用 swap 的话,在 sd 卡上创建一个 swap 文件也不失为一个办法,但是效果肯定入 swap 分区理想,下面就给大家几行代码,还是那样说, 看懂就能看懂,不会也不要问了!1. 命令 free 查看系统内 Swap 分区大小 2. free 3. 4. #创建一个 Swap 文件 5. cd /sdcard 6. mkdir swap 7. cd swap 8. dd if=/dev/zero of=swapfile bs=1024 count=64000 9. #swap 文件大小 1024X64000 字节大小(大约 64M) 10. 11.#把生成的文件转换成 Swap 文件 12.mkswap swapfile 13. 14.#激活
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号