IT Learning

実践形式でITのお勉強

Raspberry Pi

Raspberry Pi のメモリ圧迫の改善

投稿日:

目的

下の記事でRaspberry PiにMetabaseをインストールして使用していたが、ダッシュボードでグラフを3つほど載せたら動作がかなり重くなり、使い物にならず。Raspberry PiのGUIを停止してメモリの空きを作りたい。

環境

Raspberry Pi 3
Rasbian 9.11

Step1 : スワップサイズ変更

まずは、freeコマンドでメモリのスワップサイズを確認します。デフォルトのままで使用していたため100MBしかSwapサイズがありませんでした。

pi@raspberrypi:~ $ free
              total        used        free      shared  buff/cache   available
Mem:         948304      290212      256968       13704      401124      594092
Swap:        102396           0      102396

スワップサイズを拡張するため、/etc/dphys-swapfileを編集します。

pi@raspberrypi:~ $ nano /etc/dphys-swapfile

今回は100から1024まで増やしてみます。(なお、nano はCtrl + oを押したのちにEnterで編集中のファイルを上書き保存できます。)

#   you most likely don't want this, unless you have an special disk situation
#CONF_SWAPSIZE=100
CONF_SWAPSIZE=1024

以下のコマンドで変更した設定を適用します。

sudo /etc/init.d/dphys-swapfile restart

再度freeコマンドで適用されていることを確認します。

pi@raspberrypi:/etc $ free
              total        used        free      shared  buff/cache   available
Mem:         948304      385576      146824       13704      415904      498468
Swap:       1048572           0     1048572

Step:2 GUI停止

スワップサイズを増やしてもMetabaseの動作はあまり変わりませんでした。いっそのことGUIを停止してしまおうと思います。

まずは、現状のメモリ状況とcpu使用率を確認します。

pi@raspberrypi:/etc $ cat /proc/meminfo
MemTotal:         948304 kB
MemFree:          146104 kB
MemAvailable:     498320 kB
Buffers:           25764 kB
Cached:           379520 kB
SwapCached:            0 kB
Active:           597712 kB
Inactive:         161068 kB
Active(anon):     353784 kB
Inactive(anon):    13412 kB
Active(file):     243928 kB
Inactive(file):   147656 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1048572 kB
SwapFree:        1048572 kB
Dirty:                64 kB
Writeback:             0 kB
AnonPages:        353492 kB
Mapped:            76244 kB
Shmem:             13704 kB
Slab:              23208 kB
SReclaimable:      11196 kB
SUnreclaim:        12012 kB
KernelStack:        1952 kB
PageTables:         3052 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1522724 kB
Committed_AS:    1025676 kB
VmallocTotal:    1114112 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:              416 kB
CmaTotal:           8192 kB
CmaFree:            6032 kB

pi@raspberrypi:~ $ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 143244  26272 392076    0    0    40     1   80  121  3  0 96  0  0

では、さっそくguiを停止するため、以下のコマンドでブートオプションを起動します。

pi@raspberrypi:/etc $ sudo raspi-config

するとssh接続しているputtyの画面で以下が現れました。

3 Boot Optionsを選択してEnterを押します。

次にB1 Desktop/CLIを選んでEnterを押します。

その後に出てくるログイン方式の選択画面でB2 Console Autologinを選びます。(B1 Consoleでも問題ありません)

その後、最初の画面に戻るのでfinishを押すと、再起動するか聞かれますので、「はい」を選択します。

Step3 : 改善結果確認

pi@raspberrypi:~ $ cat /proc/meminfo
MemTotal:         948304 kB
MemFree:          422344 kB
MemAvailable:     647616 kB
Buffers:           16476 kB
Cached:           261696 kB
SwapCached:            0 kB
Active:           372692 kB
Inactive:         119840 kB
Active(anon):     214656 kB
Inactive(anon):    11984 kB
Active(file):     158036 kB
Inactive(file):   107856 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1048572 kB
SwapFree:        1048572 kB
Dirty:                40 kB
Writeback:             0 kB
AnonPages:        214484 kB
Mapped:            34672 kB
Shmem:             12264 kB
Slab:              18724 kB
SReclaimable:       8740 kB
SUnreclaim:         9984 kB
KernelStack:        1096 kB
PageTables:         1304 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1522724 kB
Committed_AS:     342668 kB
VmallocTotal:    1114112 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:              416 kB
CmaTotal:           8192 kB
CmaFree:            6032 kB

pi@raspberrypi:~ $ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 421612  16540 270604    0    0   322     2  112  106 18  2 80  1  0

メモリは割と改善されました。Metabaseの動きも体感ではかなり改善され、グラフ3つくらいであればサクサク動くようになりました。

Related

-Raspberry Pi

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です