綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[討論] 有人用過在cache區開32mb作swap嗎?

[複製連結] 查看: 1543|回覆: 6|好評: 0
跳轉到指定樓層
樓主
minoz | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-8-24 03:04

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
小弟是手機新手,也不懂linux
手機root過後也裝了link2sd也把sd卡切出了swap
也刷了p055877632大大提供的A1/V788D專用SWAP內核
用過swapper2

但用不久就不想用sd卡及swapper2作swap
後來在網路上有找到方法
可以把(低階)安卓手機不常使用的cach區(a1有50幾mb)切出32mb作swap
找了一些網路後把現有的xxxx.sh檔貼一貼
試了試竟然swap有在跑
因為我不懂這些程式語言能跑還真的有點莫名其妙

它的方法如下:
1. 在 /cache/lost+found 目錄下執行一個script建立32m的swap.img
(不知為何a1手機在/cache目錄下建立重開機swap檔會消失,但到/lost+found下就不會???)
script檔內容如下:

mount -o remount,rw /cache/lost+found;
dd if=/dev/zero of=/cache/lost+found/swap.img bs=1024 count=32000;


2. 其它安卓手機可以在/system/etc/init.d 下建兩個檔在開機後執行swapiness設定以及掛載swap
但a1根本沒有init.d這個目錄(有點像是windows 的start up)
(所以也不知道可不可以自己建??還是其他的rom是有的???)

3.  第二點目前不可行,就用gscript小程式在開機後手動執行script掛載swap
之後再用free檢查32mb的swap的確有在運作

但是在第3點這個地方我碰到了對程式無知產生問題(因為是"剪貼"來的)
掛載的script 如下:

mount -o remount,rw /cache/lost+found;
busybox losetup /dev/block/loop7 /cache/lost+found/swap.img;
busybox mkswap /dev/block/loop7;
busybox swapon /dev/block/loop7;

執行後出現一堆 not found (而且我真不知busybox到底是怎樣的指令以及為何要加)
是下了不必要的指令還是什麼?
但總之swap有在跑進出程式數值也有變化

請教懂程式及玩a1手機的前輩高手
1.  第3點的手動執行cript這樣對嗎?要如何修正?
2.  如果不用手動執行,可以怎樣在手機開機後自動就執行掛上swap?

這樣有點像小白玩大車但還請不吝指教
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
 樓主| minoz | 收聽TA | 只看該作者
發表於 2013-8-27 02:08
自說自話一下:

1. 原來busybox是指命包,而安卓的指命都放在 /system/bin 下面 (別笑我)
2. 上面每個scipt檔的每行最後的分號「;」都要去掉!不然就會跑出奇怪的東西(雖然可用)。這就是剪貼又不懂程式的結果!(還是別笑我)
3. 網路上有位roach大寫了個script可以把兩個合成一個,有興趣的可以自己找。
4. swap大小改成40mb
5. 另外也找到了手動卸載swap的方式
6. 但還是沒找到a1開機自動載入掛載swap的方式

這幾天用起來還很順....

點評

如果方便的話 還希望您能夠分享檔案..  發表於 2013-8-29 16:59
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
jeff87218 | 收聽TA | 只看該作者
發表於 2013-8-29 16:46
本帖最後由 jeff87218 於 2013-8-29 16:47 編輯

把SWAP弄在cache區 會有個缺點

就是 常常用一些 常駐程式的話 可能會有問題...

不過 用在cache區的話 速度可是很快的..
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
 樓主| minoz | 收聽TA | 只看該作者
發表於 2013-8-29 22:46
把建立swap和掛載合在一起的script我用的如下:

mount -o remount,rw /cache/lost+found
if [ ! -e /cache/lost+found/swap.img ]
then
dd if=/dev/zero of=/cache/lost+found/swap.img bs=1024 count=32000
fi
busybox losetup /dev/block/loop7 /cache/lost+found/swap.img
busybox mkswap /dev/block/loop7
busybox swapon /dev/block/loop7

原本那位大大的 /cache 路徑我都改為 /cache/lost+found

我原本是用swapper2和link2sd
但總覺得資料就是在這兩個分割區跑來跑去很浪費電
不過在記憶體裡設swap 好像和swap原先設計背道而馳...
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| minoz | 收聽TA | 只看該作者
發表於 2013-8-29 23:44
原本一直找不到A1開機可以載入scritp的地方和方法
後來有找資料
可以在 /system/etc 下的 install-recovery.sh
寫入掛載swap檔或sd卡上swap分割區的指令
這樣一開機就直接掛入swap試過也ok
連swapper2程式都免了

但我手機上的install-recovery.sh只寫了link2sd 掛載 sd卡分割區一堆看不懂的東西
不知那天要移除link2sd或要再刷機搞不好會出現不可預期的情形
就還是用手動的好了

不知有那位熱心大大可以解釋一下install-recovery.sh對刷機有何影響?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
merlin@home | 收聽TA | 只看該作者
發表於 2013-9-26 22:01
我的平台是 Sony LT18i , 經過刷ROM
我參考你的作法, 將檔案放在 /etc/init.d 存為 30frandom (若有重名時, 將30改為其他數字就可以了) 屬性為 rwxr-xr-x, 檔案的內容參考如下:

#!/system/bin/sh
# Thanks to ROACH for script

mount -o remount,rw /cache

if [ ! -e /cache/swap.img ]
then
dd if=/dev/zero of=/cache/swap.img bs=1024 count=75000
fi

busybox losetup /dev/block/loop7 /cache/swap.img
busybox mkswap /dev/block/loop7
busybox swapon /dev/block/loop7

這樣的設定, 我使用 75M 用於 swap使用, 另外還保留25M給其他系統使用.
如果搭配 Swapper2這個軟體安裝時, 又可以增加第二個 swap的空間供調用, 這樣也可以在嚴重不足時,也可補一下. 這第二個 swap的空間, 建議放在 SD卡的 ext2上, 這樣在SD卡聯接PC時,不至於停止swap的功能.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| minoz | 收聽TA | 只看該作者
發表於 2013-9-29 03:50

謝謝,以前不懂,現在懂一點點
a1手機如果刷入了init.d就可用這個方式,我沒有刷,所以是寫在安裝link2sd後出現的install-recovery.sh裡。我還把掛載sd卡上的swap分區和設定swappiness也一起寫了進去。
另外還有人玩更大在/system多的空間再掛一個swap,在rom裡面有兩個swap檔。
不過把flash rom用來作swap,swappiness設100心裡有點毛毛的...好像有一些刷包就是這樣處理。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則