NetWalker(PC-T1)にcompcacheをインストールして高速化
NetWalker(PC-T1)にcompcacheというものを使用してswap領域を圧縮した上でRAMに確保し高速化します。前回のカーネルが入っていることが前提です。PC-Z1にはlzo_compress.ko, lzo_decompress.koが元から入っているようなのですが、PC-T1には入っていないためです。
こことかここを大いに参考にさせていただきました。
ビルドに必要なパッケージのインストール
ビルドする際に必要なパッケージをインストールします。前回のカーネル再構築を行っているはずなので既にインストールされているはずです。
sudo apt-get install build-essential
compcacheのダウンロードとビルド
compcacheをダウンロードしてビルドします。参考ページの通りバージョンは0.5.4を使用しました。
$ wget http://compcache.googlecode.com/files/compcache-0.5.4.tar.gz
$ tar xvzf compcache-0.5.4.tar.gz
$ cd compcache-0.5.4
$ make
compcacheを使ってみる
さて、ビルドに成功したら実際にswapとして使用してみます。
$ sudo ./use_ramzswap.sh上記のように表示されていれば成功です。Loading modules ...
Setting up swap device ...
Done!
念のため確認してみましょう。
$ swapon -s上記のように/dev/ramzswap0が表示されていればcompcacheは動作しています。/dev/mmcblk0p1はSDカードを一部swapとして利用しているので表示されていますが、そういう設定をしていない場合は表示されません。
Filename Type Size Used Priority
/dev/mmcblk0p1 partition 1060248 0 -1
/dev/ramzswap0 partition 120584 0 100
起動時に自動で動作するように設定
このままではNetWalkerを再起動すると動作しません。起動時に自動的に動作するように設定します。
カーネルモジュールをコピーします。
$ sudo cp ramzswap.ko /lib/modules/2.6.28-19-sendai-20120224/extra/
$ sudo cp sub-projects/allocators/xvmalloc-kmod/xvmalloc.ko /lib/modules/2.6.28-19-sendai-20120224/extra/
$ sudo depmod -a
起動時に読み込まれるように設定します。
$ sudo vi /etc/modules
lzo_compress
lzo_decompress
xvmalloc
ramzswap
オプションで確保する容量を設定します。
$ sudo vi /etc/modprobe.d/options
options ramzswap disksize_kb=102400
起動時にswapとして動作するように設定します。
$ sudo vi /etc/fstab
/dev/ramzswap0 swap swap defaults,pri=100 0 0
再起動
以上で設定は終了です。再起動して確認します。
$ sudo reboot
無事に起動したら、
$ swapon -s/dev/ramzswap0が表示されていれば成功です。