Linux ramlog系ツール比較

 SDカードで運用するシングルボードコンピュータのようなフラッシュメモリをストレージに使用したシステムでは、フラッシュメモリの寿命に配慮して書き込み回数・頻度・量を抑止するため、ログを随時フラッシュメモリに書き込まないための手段が採られることがあります。
 これらは所謂RAMディスクの技術を使い、システム起動・停止時などの限られた機会のみにRAMディスクの内容をフラッシュメモリと同期させることで、フラッシュメモリへの書き込みを減らすことを狙っています(逆に言えば、意図しない停電時などにはRAMディスクの内容が消失しますので、ログも失われるリスクがあります)。

 導入したLinuxディストリビューションに元からインストールされているのならそれを使えばいいと思いますが、そうでなければ自力で導入する必要があります。で、調べてみると似たようなツールが複数存在してどれを使うか迷ったのでまとめておきます。
 

ramlog

ramlog – Freecode

  • 記録先: tmpfs
  • GPLv3 License
  • 一部の類似ツールの元になっている

 

folder2ram

GitHub - bobafetthotmail/folder2ram: mount those folders to ram without losing access to their counterpart on disk!

 

log2ram

GitHub - azlux/log2ram: ramlog like for systemd (Put log into a ram folder)

  • ramlogのようなもの
  • 記録先: tmpfs or zram (default: tmpfs)
  • MIT License

 

armbian-ramlog

build/armbian-ramlog at master · armbian/build · GitHub

  • log2ramを使用
  • 記録先: zram or tmpfs (zramが使用できない場合はtmpfsを使用)
  • GPLv2 License
  • armbianでデフォルトで導入済

 

雑感

  • いずれもUbuntudebianの公式リポジトリからパッケージマネージャ(apt)で導入できない
  • いずれも実体はシェルスクリプト
  • 私見ではどれが良いとか優れているとは言い難いが、使用経験のあるものについては以下の通り
  • armbian-ramlogは基本的にはzramと組み合わせて使用することを狙っており、RAMディスクに使用されるメモリ領域の削減が図れる
    • だが、そのための圧縮処理が必要でCPUパワーも消費される
    • メモリ512MBの32bit Quadcore ARMなnanopi neoで動画生成するシステム(時間帯により高負荷連続・消費メモリ量多い)では実用にならなかった
  • folder2ramはメモリ1GBの64bit Quadcore ARMなPINE64で動かしてるNAS(低負荷)で特に問題無く動いている

 



以上。

*1:シングルボードコンピュータ版以外は任意導入のプラグインかもしれない