【STEP-39】Raspberry PiでもZRAMでメモリー拡張!

0
5531

前回の【STEP-38】では、起動ディスクとして高速大容量ストレージを用いることでSWAP領域を拡大し、Googleマップのストリートビューをどうにか表示させるまではできるようになりましたが、未だ遅すぎて使い物にはなりませんでした。今回は1GBしかないメモリーをAndroidでよく使われているZRAMを使って拡張し、更なるパフォーマンスアップを図ってみたいと思います。

ZRAM有効化の設定

今回のZRAM導入に際しては、こちらのサイトを参考にさせていただきました。先ずは、ファイルマネージャを起動し、左ペインで”/lib/modules/4.14.80-v7+(お使いのカーネルバージョン)/kernel/drivers/block/zram”を開き、右ペインに”zram.ko”があるか確認します。これがあるということは、RaspbianでもZRAM が使用できるということだそうです。

ZRAMのスクリプトもこちらのサイトのものを使わせていただきました。コマンド”curl -o“でダウンロードします。

curl -O http://sstea.blog.jp/raspi/script/zram.sh

スクリプト”zram.sh”に、コマンド”chmod“で実行権限を付与します。

chmod 755 zram.sh

スクリプト”zram.sh”を、コマンド”mv“でディレクトリ”/etc/init.d/”に移動します。

sudo mv zram.sh /etc/init.d/

ファイルマネージャに戻り、左ペインで”/etc/init.d”を開き、右ペインの”zram.sh”を右クリックして”nano”で開きます。

“echo 256M > /sys/block/zram0/disksize”の行の”256M”を”512M”で上書きします。

書き込んだら、(「Ctrl」+「O」) → (「Enter」) → (「Ctrl」+「X」)キーの順で保存しておきます。

コマンド”update-rc.d“でスクリプト”zram.sh”をローダブル・カーネル・モジュールとして自動実行させます。

sudo update-rc.d zram.sh defaults

プロンプトが返ってきたら、再起動します。

reboot

コマンド”swapon -s“で、SWAP領域のマウント状況を確認します。

swapon -s

【STEP-38】で設定した4GBのSWAP領域の前に、”Priority:5″としてZRAM:512MBがマウントされています。

ファイルマネージャを起動して、左ペインで”/sys/block/zram0”を開き、右ペインの”disksize”を右クリックして”nano”で開きます。

メモリー内に設定されたZRAMのサイズが”536870912(byte)”=512MBと表示されています。ここでは書き込みができないので確認できたら(「Ctrl」+「X」)キーで終了します。

ZRAM有効化後の効果確認

LXTerminalを起動して、コマンド”top“でシステム情報を表示します。

表示された画面上にカーソルを移動してクリックし、次のトグルキーを1文字づつ入力して、表示を変更します。

top
m
t
m
z

ブラウザを起動してYou Tubeのノンストップ再生動画を同時に5本再生したところ、メモリーを87.5%使っていますが、SWAP領域は未だ”4718584(KB)”の7.6%:358MBしか使っていません。SWAP領域のサイズ:4718584(KB)は、起動ディスク内の4GBにメモリー内の512MBを加えて4.5GBとして表示しているようです。

次にブラウザでGoogleマップを開き、ストリートビューを表示してみました。メモリーを72.2%使っていますが、SWAP領域は”4718584(KB)”の0.2%:9.4MBしか使っていません。ZRAM有効時はSWAP領域をそんなに大きく確保する必要がないのかもしれません。特筆すべきはCPUの負荷が同一条件の【STEP-38】のときの92.5%から37.8%に激減していることです。そのせいか、ストリートビューの表示も多少もたついた感じはありますが、なんとか使えるレベルにはなっています。ZRAMによってSWAP領域への入退出がスムーズに行われているおかげなのでしょうか?