sync - メモリにバッファ中のデータをディスクに書き込む

syncコマンドは、システム上でファイルの書き込みが終了しているが、ディスクに書き込まれていないデータを、ユーザが任意のタイミングでディスクに書き込むように命令することができます。

syncコマンドとは

ディスクへのデータの書き込みは、メモリ内に一定のデータ量またはメモリ内で一定時間の時間が立つことでディスクへのデータの書き込みが行われます。

この様子は以下のようなコマンドで確認を行うことができます。

コマンド

実行結果

Dirtyは、ディスクに書き込みを待つためのメモリのことです。
Writebackは、ディスクに書き込まれているメモリの合計量です。

syncコマンドは、Dirtyメモリで書き込みを待っているデータをすぐに書き出すように命令するコマンドになります。

syncコマンドの利用例

メモリにバッファ中のデータを書き込む

syncコマンドは、単純にそのまま利用することができ、メモリにバッファ中のデータを書き込むことができます。ddコマンド等を利用し、ddコマンドのフラグにsyncをつけ忘れた場合に利用してもいいかもしれません。

コマンド例

参考

外部リンクGnu Coreutils

外部リンクGnu Coreutils日本語版

外部リンクsyncコマンドの進捗を確認 - Qiita

外部リンクI/O waitが発生する原理(dirtyメモリ、write back) - 脳汁portal