Raspberry Piのメモリーを節約する

今回は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カメラのストリーミングを常時行っています)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください