设备要求
设备主要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出现则成功
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命令:
busybox swapoff /dev/block/loop* #loop后面数字需要替换