今回はRaspberry Piのメモリーを節約する方法について載せていきます。
今さらRaspberry Pi Model A (メモリ256MB)を使っている人はいないと思うので、Model B/B+ (メモリ512MB)を前提に話を進めていきます。
カメラモジュールをOFFにする
sudo raspi-config Enable Camera Disable
Webカメラを使っていても、Camera moduleを使っていなければ必要ありません。OFFにしましょう。Camera moduleだけでメモリを100MBくらい使ってしまいます。
free total used free shared buffers cached Mem: 496660 235424 261236 0 11848 115828 -/+ buffers/cache: 107748 388912 Swap: 0 0 0
仕様書によるとCamera moduleは最低128MBのGPUメモリを使うそうです。
GPUメモリを減らす
Raspberry Piにディスプレイをつなげている場合、ある程度のGPUメモリを割り当ててあげる必要がありますが、ディスプレイなしでSSHでアクセスしているGPUメモリは必要ありません。ということで割り当てるGPUメモリは最低値にします。
sudo raspi-config 8 Advanced Options A3 Memory Split 16
下限の16MBになりました。デフォルトは64MBです。
ちなみにディスプレイで表示させるのに最低限必要なGPUメモリは40MBちょっとくらいらしいです。
使っていないサービスを停止する
Raspberry Piでデーモンを停止を真似して使っていないサービスを停止します。
sudo vim /etc/inittab #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6 chkconfig --list
いろんなのが自動起動になっている。何を止めたらいいのかわからないので、pc-linksさんのを真似る。
sudo chkconfig dbus off sudo chkconfig triggerhappy off sudo chkconfig alsa-utils off sudo chkconfig lightdm off sudo chkconfig motd off sudo chkconfig plymouth off sudo chkconfig ntp off
念のため止めるサービスを調べてみた
dbus プロセス間通信
triggerhappy ショートカットキー
alsa-utils サウンド関係
lightdm ディスプレイ関係
motd ログインした後に表示されるメッセージらしい
plymouth グラフィック関係
ntp 時間関係
ディスプレイも音も必要ないので、さっさと止めてしまいます。
時間関係のntpを止めてしまったので新たに時間関係のサービスをインストールしておきます。
sudo apt-get install ntpdate crontab -e 0 * * * * /etc/network/if-up.d/ntpdate > /dev/null 2>&1 sudo vim /etc/default/ntpdate #NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org" NTPSERVERS="ntp.nict.jp ntp.jst.mfeed.ad.jp ntp.ring.gr.jp" sudo reboot
最終結果
free total used free shared buffers cached Mem: 496660 210008 286652 0 11260 104508 -/+ buffers/cache: 94240 402420 Swap: 0 0 0
lighttpdでwordpressが動いているので、メモリの使用状況はこんな感じになりました。
(Webカメラのストリーミングを常時行っています)
コメントを残す