Raspberry Pi(Raspbian)にやっといたほうがいい設定(マイクロSDカードの延命:swapやlog)

投稿者: | 2020年4月28日

Raspberry piはMicro SDカードをディスクとして使用します。Micro SDカードは書き換え回数に上限があるため頻繁な書き込みを行うと寿命が付くてしまいます。
できるだけMicro SDカードに書きこみをしないで寿命を延ばす設定になります。

Micro SDカード延命処置

できるだけMicro SDカードに書きこみをしない方法は以下のものがあります。

①スワップ(Swap)を無効化
②ログファイルと一次作成場所をtmpfs(RAMdisk上)にする
③ログ出力を減らす
④容量の大きなSDカード/マイクロSDカードを使う

スワップ(Swap)を無効化

スワップ(Swap)は仮想メモリをつかうもので、Windowsにもあるスワップファイルです。
実メモリが不足すると、一時的にディスク上に作成したスワップファイルに使っていないメモリ領域を保存して、実メモリに空きを作るものです。
スワップ(Swap)を無効化することで、ディスク(Micro SDカード)へのアクセス量は減りますが、場合によってはメモリ不足でアプリケーションが動作しなくなることがあります。

無効化の方法

まず、現在の状態を確認します。

この例では、スワップ領域に99Mb確保されていて、使用量は0B(使っていない)ことになります。
スワップ(Swap)を無効化します。

続いて、再起動してもこの状態が続くようにします。
スワップサービスの削除(apt-get remove dphys-swapfile)もいいのですが、ここではサービスの停止を行います。

これでスワップ(Swap)を無効化できました。

スワップ(Swap)を有効化

メモリ不足になり、スワップ(Swap)が必要になった場合は以下のようにスワップを復活させます。

これでスワップ(Swap)を有効化できました。

ログファイルと一次作成場所をtmpfs(RAMdisk上)にする

テンポラリ領域(一時的保存領域)の 「/tmp」 と 「/var/tmp」、およびログファイルの 「/var/log」 が、RAMdisk(メモリ上のファイルシステム)の tmpfs に作られるように設定します。

なお、RAMdisk(メモリ上のファイルシステム)はRaspberry piの再起動でリセットされデータは消えてしまうので、消えてほしくないデータはRAMdisk(メモリ上のファイルシステム)に置かない、もしくは再起動やシャットダウンの前にSDカードへ避難させる必要があります。

tmpフォルダをtmpfs(RAMdisk上)にする

fstabを修正して、/tmp と /var/tmp をtmpfs(Ramdisk上)に設定します。

次に、SDカード上の /tmp と /var/tmp を消します。

再起動します。

なお、上記の設定では
・/tmp : 64MB
・/var/tmp:16MB
となっています。アプリケーションなどで多くの一時領域が必要な場合は、この数値を多くします。ただし、あまり多くすると実メモリがなくなるので注意が必要です。

logフォルダをtmpfs(RAMdisk上)にする

ログフォルダをRAMdisk上に置きます。Raspberry pi が再起動するとログは消えてしまうので、ある意味どうでもいいログを置く場所となります。もし、logの中で残しておきたいログがあれば保存しておく必要があります。

なお、Raspberry pi の起動時にログフォルダはりせってされるので何も残りません。
アプリケーションによっては ”ログフォルダがそこにあること” を前提にしているものもあるのでエラーとなる場合があります。
そのため、以下のようなスクリプトをRaspberry pi の起動時に走らせて(rc.localなど)おくのが良いでしょう。
以下は起動時にログフォルダを作成する例です。
ここでは「/usr/local/bin/command/start/make-folder.sh」を作成して「rc.local」に登録します。

作成したファイルを起動可能にします。

起動時に実行できるように「rc.local」に登録します。

再起動します。

ログ出力を減らす

いろいろなログが出力されていますが、使っていないサービスのログ出力を減らしてます。「/etc/rsyslog.conf」 を編集してログ出力を抑えます。

「/etc/rsyslog.conf」 を開きます。

基本的なログの中で使わないモノをコメントアウトします。

メール、InterNetNewsもいらないでしょう。

デバッグもいらないでしょう。

再起動します。

容量の大きなSDカード/マイクロSDカードを使う

これは、ある意味力業です。
SDカードの容量が大きいとそれだけ書き込める箇所が増えるので、同じ場所に書き込む割合が少なくなります。

コメントを残す

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