このエントリーをはてなブックマークに追加

ディスクキャッシュをストレージへ書き出す方法

Armadillo上で、eMMCやSDカード等のストレージにデータを書きこんだ場合、すぐにデータが書きこまれるわけではなく、メモリ上のディスクキャッシュに保存されていることがあります。

その状態で電源が切断されると、RAM上に保存されているディスクキャッシュが、ストレージに書き出される前の状態であるため、ストレージの書き出したはずのデータが消える等の問題が発生します。

そのため、ここでは明示的にディスクキャッシュをストレージに書き出す方法を紹介します。

ストレージへデータを書き出す

ディスクキャッシュをストレージに書き出すには、「sync」コマンドを使用します。

以下のようにsyncコマンドを実行してください。

[armadillo ~]# sync

上記コマンドを実行することで、ディスクキャッシュにデータが書きこまれます。 実運用環境化等で、なるべく電源断のリスクを回避したい場合は、データをストレージに書き出した後は「sync」コマンドを実行することをお勧めします。

参考: ディスクキャッシュの確認方法

ディスクキャッシュは以下のコマンドで確認できます。

[armadillo ~]# cat /proc/meminfo | grep Dirty

またディスクキャッシュをストレージに書き出している途中のデータ量は以下のコマンドで確認できます。

[armadillo ~]# cat /proc/meminfo | grep Writeback

注意事項

「sync」コマンドは、ディスクキャッシュをストレージに書き出しますが、実際のデータ書き出し完了前にコマンドが終了します。そのため、「sync」コマンドが終了した段階で電源断をした場合、書き出されていないデータが発生することがあります。

もし電源断時にディスクキャッシュをストレージに書き出したい場合は、「umount」コマンド等を使用することをお勧めします。

製品: 

  • Armadillo-X1
  • Armadillo-IoT G3L
  • Armadillo-IoT G3
  • Armadillo-IoT G1/G2
  • Armadillo-Box WS1
  • Armadillo-EVA 1500
  • Armadillo-840
  • Armadillo-810
  • Armadillo-800 EVA
  • Armadillo-460
  • Armadillo-440
  • Armadillo-420
  • Armadillo-410