Loading [MathJax]/jax/output/HTML-CSS/config.js

Raspberry Pi のメモリ圧迫の改善

目的

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

環境

Raspberry Pi 3
Rasbian 9.11

Step1 : スワップサイズ変更

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

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

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

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

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

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

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

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

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

01
02
03
04
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使用率を確認します。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
01
02
03
04
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を停止するため、以下のコマンドでブートオプションを起動します。

01
pi@raspberrypi:/etc $ sudo raspi-config

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

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

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

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

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

Step3 : 改善結果確認

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
01
02
03
04
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つくらいであればサクサク動くようになりました。

おすすめ

コメントを残す

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