目的
下の記事で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つくらいであればサクサク動くようになりました。