| tags:raspberry pi categories:server
パイ・スワップの増量
さて、パイ・メモリーが弾けんばかりパツパツです。 インストール時に「メモリーを割り当てることができません」とのエラーや、ちょっとしたタイミングでハングアップする様になりました。CPUへの負荷はそれほど高くないので、ちょっともったいない。。
持ち出しサーバーを計画中で色々お試しを含めて検証中で、 運用中のアプリが以下
- LAMP: Nginx + mariaDB + php7.3
- Grafana
- InfluxDB
- Telegraf
- Gitea
- TinyTiny RSS
- Wallabag
- NextCloud (CalDAV,ContactDAVのため)
- Syncthing
- dokuWiki
- Firefly iii
になります、限界にチャレンジというか、なんというか。
さて、 パイでのスワップ設定は、 多分microSDへの負荷を考えてのことでしょうが、 100MBと控えめな設定になっています。必要があれば自動的に増えていくと思っていましたが、 そうではなく、ハングアップしたりストールしたりします。 今の状態では問題があるので、 通常のLinuxのようにスワップのサイズをメモリーと同量に変更したいと思います。
dphys-swapfile
Raspbianでは、スワップは別のパーティションで分けられているわけではなくて、 dphys-swapfileというソフトで管理されています。
スワップのオン・オフなどをこのコマンドで行います。
ちなみに、スワップファイル自体を無効にする方法は以下、
pi@raspberrypi:~ $ sudo systemctl disable dphys-swapfile
pi@raspberrypi:~ $ sudo dphys-swapfile swapoff
にて可能です。 起動時にオンになってしまうのでサービスも止めます。
さて、サイズの変更方法ですが、こちらは設定ファイルをいじります。
pi@raspberrypi:~ $ sudo vi /etc/dphys-swapfile
#CONF_SWAPFILE=/var/swap
CONF_SWAPSIZE=100
#CONF_SWAPFACTOR=2
#CONF_MAXSWAP=2048
4つの項目を有効化・設定変更することができます。
- スワップファイルの位置
- スワップサイズの変更:容量の指定
- スワップサイズの変更:メモリーに対する倍数
- スワップサイズの最大値
サイズを直接設定してもよいけれど、
SDカードをパイ3Bに差し替えたりもするので、
CONF_SWAPSIZE
をコメントアウトして、メモリーと同量に値する倍数=1
に変更しました。
#CONF_SWAPSIZE=100
CONF_SWAPFACTOR=1
編集後再起動、少し使った後の割り当てはこんな感じになります。 ちょうど、初期設定の100MB時より少し必要な状態だった様です。 様子を見て必要最低限に変更するかな。
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 430Mi 258Mi 47Mi 19Mi 124Mi 102Mi
Swap: 439Mi 137Mi 302Mi
動作も少し落ち着いた様に思えます。 microSDへの負荷が増えてしまうのが心配ですが、当分これで運用して行ってみたいともいます。 ソフトウェアもあと幾つかインストールするつもりです。
microSDへの書き込みを抑えることもできるので、そちらも調整します。 こちら、Swapinessの変更 でハッピーになれます。ご参照にほど。
参照(ありがとう): https://a244.hateblo.jp/entry/2016/12/12/010429