#xperiaのカーネルパラメータを弄っちゃおうw

NO IMAGE

Xperia X10の2.3.3アップデートが公式ブログで公開されて、ちょっとwktkなんですが、

いやいや、まだまだdocomo2.1を弄りますよ!(たぶん、ここにこだわってるの俺だけじゃんw)

というわけで、ほとんどJITがらみの最適化が終わったので、もう、カーネルパラメータ弄っちゃいますw


カスタムfroyoなんかで話題のsysctlで調整しているあれですが、危険といえば危険なので、

今回はA-SPECという名前で公開!Aは「あぶないっ!!」のAです。

やったことは、メモリ関連のパラメータ調整なんですが、

一般的にはTask Killer系のアプリを入れて、一定時間で消して、とかやってると思いますが(私も有料ソフト購入しましたがw)

そもそも、Androidは標準でその機構を持ってます。

こことかここにも書かれていますが、LowMemoryKillerです。

xdaにあるパラメータをちょっと拝借して、設定してみました。

[bash]

echo "1536,3072,4096,21000,23000,25000" > /sys/module/lowmemorykiller/parameters/minfree

[/bash]

数字は前から、FOREGROUND_APP、VISIBLE_APP、SECONDARY_SERVER、HIDDEN_APP、CONTENT_PROVIDER、EMPTY_APPがそれぞれKillされる条件です。(froyoはもうひとつパラメータふえてる?)

これより大雑把にOOMでKillするパラメータもオンにしてます。

[bash]

echo 1 > /proc/sys/vm/oom_kill_allocating_task

[/bash]

キャッシュの開放はこのあたりを参考に

[bash]

echo 3 > /proc/sys/vm/drop_caches

[/bash]

これ、あってるのかどうかわかんないんですが、メモリスワップさせないで、LowMemoryKillerに吐き出させるw

[bash]

echo 0 > /proc/sys/vm/swappiness

[/bash]

あと、Twitterで先行公開した後に気がついたのが、その他のキャッシュ関係のパラメータ意味ないじゃんw(見ないでください。害はないのでw)

で、これらのパラメータは、init.rcで実行されるべきで、まぁ、起動後に、adb shellでコマンドラインで入力してもいいんですが、

コマンドライン入力だと、再起動すると元に戻ってしまうし、init.rc書き換えてもよかったんですが、

KA-SPEC(かなり、危ないスペック)になりそうだったので、どうしたものかと・・・

init.rcの中を見ていくと、

こんな記述を発見しますた!

[bash]

service flash_recovery /system/etc/install-recovery.sh
oneshot

[/bash]

なんだ!これは?

/system/etc/にそんなファイルはありませんw ということは、このファイルを作っちゃえば、ブート時に実行されるじゃん!

というわけで、install-recovery.shというファイルを作っちゃいました。

あ、あぶない!ってことになったら、このファイルを消すか、実行属性をはずして再起動すればOK!

(いままで、なったことないですw)

というわけで、今回は05改に組み込んでみました。

[ダウンロードが見つかりません]

・framework-res.apkにxdaで拾ったアニメーションを追加しました。
・DialerOne(電話アプリ)を組み入れました。
・Market、Map、Street、VoiceSearchはNewに置き換え。

そんな感じです。

追記:A-SPECだけ有効にするパッチ置いておきます。

[ダウンロードが見つかりません]