ども、ブログタイトル変えました。
しかも、何の予告もなしに。
まぁ、常軌を逸したというか、キティGuyというか・・・
いいんです、別にアクセスなんて狙ってません。
元からアクセスなどないんだし、迷惑かかる人も居ないはずです。(居たらゴメンナサイ)
そんなわけで、ネガティブな雰囲気で滑り出し快調ですが、
表題のようにXdaで、皆さん気になっている「コンプキャッシュ」と「スワップ」について少々話題があがりました。
個人的にチョット気になったので、ご紹介しておきます。
発言はXdaの常連さんtnpapadakos氏とoc825オーバークロックカーネルのdumfuq氏です。
以下引用
tnpapadakos氏:
ちょっと前に、あなたのカーネルの一部はスワップが有効じゃないと働かないと言い、今回シアノゲンは5.0.8 test3でそれを取入れた。
シアノゲンは「私はコンプキャッシュだけを使っている」、又「CyanogenModはデフォルトでは何もスワップしない、少しの内臓コンプキャッシュだけ」と言った。
それで、5.0.8 testでスワップを使うか?、コンプキャッシュか?、それとも両方?
私はコンプキャッシュだけで試した
― 私はそれを好まない
・・・ 通話履歴をスクロールする時、ランチャーの画面の間を移動する時、私はラグに気づいた
私は両方合わせて試した、同じ結果
私はどちらも無しで試した、同じ結果
私はスワップだけで試した、ラグに気づかない
これに何かコメントや指導はありますか?
dumfuq氏:
実際、それは全て個人の好みだと思う
あなたがどれを選んでも本当に問題ないだろう。
ともかくスワップ無しやコンプキャッシュを含めて、私の電話はたとえどんな方法でも時々遅延するようだ
私自身は64MBの支援スワップパーティションを伴なうコンプキャッシュを使っている
下のは参考の為の私の現在のuserinitです
#!/system/bin/sh
# set cpu to min/max
echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#set governor to conservative
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#echo 76 > sys/devices/system/cpu/cpu0/cpufreq/conservative/up_threshold
#echo 12 > sys/devices/system/cpu/cpu0/cpufreq/conservative/down_threshold
#echo 8 > sys/devices/system/cpu/cpu0/cpufreq/conservative/freq_step
#echo 500000 > sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate
# start up compcache
modprobe ramzswap
rzscontrol /dev/block/ramzswap0 --memlimit_kb=32768 --backing_swap=/dev/block/mmcblk0p3 --init
echo 56 > /proc/sys/vm/swappiness;
swapon /dev/block/ramzswap0;
# link /system/sd/bin /usr/bin
mount -o remount,rw /dev/rootfs /
mkdir /usr
chown root.root /usr
chmod 755 /usr
ln -s /sd-ext/bin /usr/bin
mount -o remount,ro /dev/rootfs /
# set bash to default
busybox mount --bind /usr/bin/bash /system/bin/sh
ということです。
tnpapadakos氏の検証ではスワップのみの構成で動作遅延を感じなかったと言う事です。
しかし、dumfuq氏の発言では「その人に寄るよ、どれでも変わんないよ」的な事を言ってます。
実際、oc825作者本人さんであるdumfuq氏はコンプキャッシュ+スワップで運用しているそうです。
う~ん、結局決着は付かないかぁー・・・
CyanogenModのCyanogen氏本人はコンプキャッシュがエエ!と言っているし。
ホントはどれがイイのぉ~~~~!っと。
ただ、ネット上の多くの皆さんはスワップが(・∀・)イイ!
と仰っているようです。
上のdumfuq氏仕様のuserinitをそのまま使えるuserinit.shにして置いておきます。
私も詳しくないので良く解らない記述がありますが、解る範囲だと
上半分は全く関係ない (CPUクロックの設定関係、詳細コチラ)
- コンプキャッシュは32MBに設定
- スワップ頻度のswappinessの設定は省略なので初期値になる
- 下3/1ほどは何してるの?
ってな具合です。
コレ使ってスワップパーティションを64MBで切ってやれば、憧れのdumfuq氏とオソロになれます!
ちなみにSDカードにEXTパーティションとスワップパーティションを切ってないと、コレ使ってもダメです。(念のため)
使用方法は
前のトコを参照して下さい。下の方の「4.」のへんに書いてあります。
くどいようですが、Droid Explorerお勧めです。入れといて損はナシ。
以下アーカイブ
◎
dumfuq's userinit.sh
追記
上のアーカイブのdumfuq's userinit.shですが、色々やってみましたがスワップが有効に成りません。
原因不明でなんともならなかったので消しました。
落として使われた方、お騒がせ致しました。
すみませんでした。
追記
色々ゴニョゴニョやってたらDumfuq氏のuserinitでスワップ有効にできました。
よってファイル差し替えアップしときました。
oc825カーネルファンの方、一度作者オリジナルを試してみては?
私も暫く使ってみることにします。
以下修正後dumfuq's userinit
#!/system/bin/sh
# set cpu to min/max
echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#set governor to conservative
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#echo 76 > sys/devices/system/cpu/cpu0/cpufreq/conservative/up_threshold
#echo 12 > sys/devices/system/cpu/cpu0/cpufreq/conservative/down_threshold
#echo 8 > sys/devices/system/cpu/cpu0/cpufreq/conservative/freq_step
#echo 500000 > sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate
# start up compcache
modprobe ramzswap
rzscontrol /dev/block/ramzswap0 --backing_swap=/dev/block/mmcblk0p3 --memlimit_kb=32768 --init
echo 56 > /proc/sys/vm/swappiness;
swapon /dev/block/ramzswap0;
# link /system/sd/bin /usr/bin
mount -o remount,rw /dev/rootfs /
mkdir /usr
chown root.root /usr
chmod 755 /usr
ln -s /sd-ext/bin /usr/bin
mount -o remount,ro /dev/rootfs /
# set bash to default
busybox mount --bind /usr/bin/bash /system/bin/sh
※(
黄色の文字のところが修正箇所です。--backing~ と --memlimit~ の順番を入替ただけなんですけど。)