最近、仕事が忙しくてGalaxy S 弄ってないなぁ、と思っていろいろググったりしてみると、Swapper2などのアプリを使ってGoogleMapのフリーズ問題を解決できるらしいとのこと!
それは凄いと思って、すぐに話に飛びついたが、このSwapper2というソフト、まったく動いてくれない・・・。
かるく1日悩んで、ようやく動かせるところまで持っていったが、それでも問題が出た。
・PCにUSBでつないでのファイルのやり取りが行えなくなった
・いつのまにか、swapfile.swp が消えていることがある
・再起動すると、256MBのスワップ領域がデフォの32MBに戻る
・広告のDLがウザイ(広告をオフにすると、見せないけどDLは行っているっぽい)
少し面倒臭そうだが、sdカード領域にswapパーティションを用意した方が確実っぽいので、そうすることにした。
(以下参考にする場合、自己責任で。最悪の場合Galaxy S が壊れる恐れあり)
USBメモリブートでgpartedを起動させるのが一番楽チンだと分かったので、
・USBメモリ(200MB以上)
・sdカードリーダー
・tuxboot
を準備し、tuxbootを起動、USBメモリにgparted live usbを導入。すぐに終わった。
USBメモリとsdカードリーダー(swapパーティションを作るものを挿す)をPC本体に付け、USBメモリで起動。
起動中いろいろ聞かれるが、適当に入力。
gpartedでUSBメモリの後ろ側を256MB削って、その分をlinux-swap領域に指定して終了。
先ほどswapパーティションを作ったsdカードをGalaxy Sに挿し、今までどおりに使えるかチェックする。(問題なく使用できた)
usbデバッグモードにして、windowsコマンドプロンプトから
> adb shell
$ su
# free
swapがまだ0である事を確かめて、
# swapon /dev/block/mmcblk1p2
エラーが出なければ成功しているかも・・・
# free
swapが 256MB分認識しているなら成功!!
このままだと、シャットダウンするとまたswaponコマンド打ち直しなので、なにか適当なものは無いか、/system/binの中を見てみると・・・
「userinit.sh」なるもの発見。OCLFを入れているとあるっぽい?
(OCLF関係の記述があるからそう思った)
userinit.shに以下の2行を追加した。
swapon /dev/block/mmcblk1p2
echo 10 > /proc/sys/vm/swappiness
これで再起動しようが、またswaponを自動で行ってくれる。
GoogleMapをぐりぐり使ってみたが、確かに「フリーズし難く」なっているようだ。(しなくなる訳ではない)
明らかに安定性があがっているので、swapの導入は意味が大きいと思う。
こころなしか、HPのブラウジングにも効果があるような気がする。
※補足
・要root
知らないほうが幸せな世界もある。どちらを選ぶも個人の自由
・要busybox
いろいろなコマンドが詰まっている、夢のツール
swaponが使えればどのバージョンでも良い
・/system/binを書き込めるようにする
busybox mount -o remount,rw /system
・ mmcblk1p2
mmcblk0 が内蔵メモリ(16GB)
mmcblk1 がsdカード
最後のp1 p2 はパーティションの1番目、2番目・・・
・swappinessの数値
0-100,大きければ、swapしやすくなるらしい
とりあえず、Galaxy Sで10を使ってるケースが多いと分かったので10
0 件のコメント:
コメントを投稿