activeのカーネルを弄りながらいろいろ調べてると、最近zramというやつが流行ってるらしい。
ZRAMとは1
導入すべく調べてみる。まずはソースを紐解いてみる。↓引用(2.6.38のソースドキュメントより)
zram: Compressed RAM based block devices
—————————————-Project home: http://compcache.googlecode.com/
* Introduction
The zram module creates RAM based block devices named /dev/zram
( = 0, 1, …). Pages written to these disks are compressed and stored
in memory itself. These disks allow very fast I/O and compression provides
good amounts of memory savings. Some of the usecases include /tmp storage,
use as swap disks, various caches under /var and maybe many more 🙂Statistics for individual zram devices are exported through sysfs nodes at
/sys/block/zram/
…ほう。ドキュメントがわかりにくいのでさらに調べてみる。
ZRAMとは2
- 以前は”compcache”と呼ばれたLinuxの特定のディストリビューションのために利用できる機能
- ページングが行われているRAMに圧縮されたブロックデバイスを使用
- この機能はネットブックや他の低パワーラップトップ、仮想化デバイスや、特に組み込みデバイス、フラッシュメモリを使用するもの、の場合に利点がある
zramは /dev/zram っていうRAMベースのブロックデバイスを作成して、そこに圧縮してページを格納する。メモリ節約に有効。
compcacheの上位互換らしい。swapよりも高速に動作するようで。わりとandroidみたいな端末にも向いてるみたい。
そりゃみんな使いますよね。特に古い端末だとRAMが少ないのですぐにRAMが埋まってアプリがバックグラウンドに回った瞬間killされてしまう、てこともあるので。
ZRAM使ってみた
というわけで、activeのカーネルにZRAMを組み込んで1週間ほど使ってみました。(activeのRAMは340MBほど。ZRAMは200MBに設定してみた)
340MB+200MBでTOTAL540MB分、OSが使えることになります。
動作的にはやはり、ZRAMのほうにスワップが貯まると重くなったりはしますが、アプリがキルされなくなったのでアプリをいっぱい切り替えても安定した動作をしてくれる印象があります。
SWAPだとSWAPファイルを作成するのに時間がかかるのですが、ZRAMは仮想領域なので作成はコマンドやスクリプトで一瞬です。
今はGBで使っておりますが、ICSが来たらより恩恵がありそうな感じです。
そういえば、Netwalkerいじった時にcompcache使ってた
圧縮したメモリをスワップデバイスとして使うcompcacheから名前がzramに。
日付みつけるのに苦労したが、単純に冒頭にあった。で、zramははやっているというより、RAM512機種でICS使うために「しょうがなく」だと思う。apps2sdも強烈。odexをSD-extに置いて、空いた/cacheを仮想RAMに。
あとで適用してみよう
[…] ★ZRAMを2.6.38からバックポート、起動時自動で200MB作成させるように […]
[…] zramを有効に […]
いつも参考にさせて頂いてます。
一番下のスクショのアプリ教えていただけますか。
これですー
https://play.google.com/store/apps/details?id=org.uguess.android.sysinfo.pro&feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy51Z3Vlc3MuYW5kcm9pZC5zeXNpbmZvLnBybyJd
ありがとうございます^^
早速インストールしました!
[…] zramを有効に […]
[…] zramを有効に […]
[…] zramを有効に […]