/sd-extが使えるように出来たんで,userinit.dの中に25Swapを作成して,外部SDに作成してあるswapパーテーションをonしてみる。
#!/system/bin/sh # # use Swap Partition by Yuji Ueno # FindSwap () { LS_CMD=ls SWAPON_CMD=swapon SED_CMD=sed SWAPPINESS=20 MMC=/dev/block/mmcblk1 if [ ! -b "$MMC" ]; then mknod ${MMC} b 179 8 chmod 600 ${MMC} for i in 9 10 11;do mknod ${MMC}p${i} b 179 $i chmod 600 ${MMC}p${i} done fi if [ "`$SED_CMD -n '$=' /proc/swaps`" -gt "1" ]; then echo "Swap appears to be already setup, skipping checks" return else for isitswap in ` $LS_CMD /dev/block/mmcblk1p*` ; do $SWAPON_CMD $isitswap 2>/dev/null if [ "$?" = "0" ]; then echo "$isitswap is swap" echo $SWAPPINESS > /proc/sys/vm/swappiness break else echo "$isitswap is not swap" fi done fi return } FindSwap
しばらく使ってみたんだけど,いろいろなところでスピードが遅くなるんで,swapパーテーションは使うのをやめた アクセススピードが速いMicroSDじゃないからかもしれないなぁ。
compcacheの方が,SC-02Bの場合はCPUパワーがあるので,あっているかもしれない。
HT-03Aの時はcompcacheって言ってたのが,zramに変わったらしい。zram(compcache)はメインRAMの一部を仮想メモリに割り当てて,その部分を圧縮・解凍しながら使用するシステムで,パーテーションSwapと同様に,見かけ上のRAMを大きく出来る仕組み。
だいぶ前にKernelをzramを使えるようにしたんだけどこの機能を試していなかった。で,この機能を試してみる。
とりあえず,/sd-ext/userinit.d/25Zramを以下のような内容で作成。
#!/system/bin/sh insmod /lib/modules/lzo_decompress.ko insmod /lib/modules/lzo_compress.ko insmod /lib/modules/zram.ko num_devices=1 /sbin/zramconfig /dev/block/zram0 --disksize_kb 262144 /sbin/zramconfig /dev/block/zram0 --init mkswap /dev/block/zram0 swapon /dev/block/zram0 setprop persist.tweak.vm.swappiness disabled echo 60 > /proc/sys/vm/swappiness
これで,RAMの256Kbyteを圧縮Swapに割り当てる。
swapパーテーションに比べて,CPUパワーがあるためかそんなに全体に速度を損なうことなく見かけ上のRAMを増やすことが出来た。いままで自動的にKillされていたアプリもKillされなくなった。これはなかなかいいかも
新しくコメントをつける