| tags:raspberry pi categories:server

パイ・スワップファイル

SDカードの延命化のためにスワップファイルを無効にするには、メモリの多くないパイなので、 少しばかり躊躇します。しかしその代わりに、 カーネルによりスワップへの書き込みを極力減らすようにします。 書込み実行傾向値vm.swappinessを設定することで可能になります。

vm.swappinessの値は0から100までが設定範囲です。 値が大きいほどスワップに書き込まれる傾向が強くなります。

デフォルト値は60なので、 スワップの利用は極力利避けたいということで、1にしました。 /etc/sysctl.confの最後にvm.swappiness=1を付け加えます。

pi@raspberrypi:~ $ sudo vi /etc/sysctl.conf

vm.swappiness=1

※ vm.swappinessはカーネル・パラメータの値によって制御され、/proc/sys/vm/swappinessとして表示されます)


おまけ

スワップファイル自体を無効にする方法もあります。

Raspbianでのスワップファイルはdphys-swapfileを使って起動時に有効化されています。 無効化も同じコマンドで行います。

pi@raspberrypi:~ $ sudo dphys-swapfile swapoff

dphys-swapfile swapoffにて無効化して、起動時の起動を停止します。 停止はsystemctl disableを使って行います。作業後再起動します。

pi@raspberrypi:~ $ sudo systemctl stop dphys-swapfile
pi@raspberrypi:~ $ sudo systemctl disable dphys-swapfile
pi@raspberrypi:~ $ sudo shutdown

以上で完了です。不具合があったりして、元に戻す場合はサービスを再開・登録をします。

pi@raspberrypi:~ $ sudo systemctl start dphys-swapfile
pi@raspberrypi:~ $ sudo systemctl enable dphys-swapfile

SDカードの延命化もいろいろ調べましたが、32GBで500円くらいですし、 10年保証だったりするので、過剰なまでに気にしないでも良いかなと思いました。

See Also

comments powered by Disqus