Android裝置開機swap的方法
阿新 • • 發佈:2019-01-03
裝置要求
裝置主要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後面數字需要替換