Android设备开机swap的方法

来源:互联网 发布:申请淘宝达人网址 编辑:程序博客网 时间:2024/06/08 07:18

设备要求

设备主要root
swap需要内核支持,不保证每一个安卓设备都能成功开启

如果自己有条件编译源码,可以:
make menuconfig -> 开启 Support for paging of anonymous memory (swap)选项
编译即可


需要安装的软件

终端模拟器
busybox

以上两款软件可以在各大软件市场搜索下载


开始配置swap

打开busybox软件,安装最新版busybox,需要root
打开终端模拟器/使用usb debug电脑连接adb shell

1、 在SD卡创建swap文件

su    #获得root权限dd if=/dev/zero of=/sdcard/swapfile bs=1024 count=1024000

参数说明: bs是块大小,count是总大小,bs*swap大小=count

of=”SD卡路径(放置swap文件的路径)”/swapfile

注意:国产手机SD卡挂载路径遍地开花,这里的路径需要自己替换为自己机子的SD卡路径,不要照搬哦!

2、创建虚拟设备

busybox mknod /dev/block/loop254 b 7 255 #创建虚拟设备

创建一个虚拟设备,loop254;如果loop254已存在,可以换成 loop+别的数字。
ls一下看看是否成功,254出现则成功
查看loop虚拟设备是否创建成功

3、虚拟设备和swap建立联系

losetup  /dev/block/loop*  $Path_Swap_File  #swap文件连接虚拟设备

将虚拟设备与swap镜像文件建立联系
loop*替换为刚刚创建的虚拟设备:如loop254
$Path_Swap_File替换为 swap文件路径,如:/sdcard/swapfile

losetup /dev/block/loop254 /sdcard/swapfile  #我输入的完整命令

4、格式化swap分区

busybox mkswap  /dev/block/loop*  

格式化swap分区,同样*用数字代替,如:mkswap /dev/block/loop254
出现“Setting up swapspace version 1,size = XXX bytes UUID = XXX”字样则格式化成功
格式化成功

5、开启swap

busybox swapon  /dev/block/loop*  #loop需要需要替换如:loop254

开启swap分区,如果没有错误,则成功了。

6、最后的检查

free

使用free命令查看内存,如果swap不为0,则成功开启
swap存在,成功

结束

有头有尾,关闭swap命令:

busybox swapoff /dev/block/loop*   #loop后面数字需要替换
原创粉丝点击