マウント解除中にファイルがブロックデバイスに書き込まれる状況は何ですか?

マウント解除中にファイルがブロックデバイスに書き込まれる状況は何ですか?

ブロックデバイスとして検出されるコンパクトフラッシュカードがあります/dev/sdb。 FAT16パーティションがあります。 FAT16ファイルシステムをマウントし、umountファイルシステムとファイルシステムに何かを書き込むと、実際のファイル書き込みは次の場所で行われますumount

# mount | grep sdb
/dev/sdb1 on /media type vfat (rw)
# time cp image.bin /media/

real    0m0.179s
user    0m0.000s
sys 0m0.104s
# time umount /media 

real    0m18.185s
user    0m0.004s
sys 0m0.032s
# 

USBフラッシュドライブでも同様の動作を見たことがあります。ファイルがファイルシステムに即座に書き込まれるのか、ファイルシステムの分離中に書き込まれるのかはどのように決定しますか?

ベストアンサー1

ファイル同期がオンになっている場合、またはファイルシステムが同期オプションでマウントされている場合、書き込みはすぐに完了します。

これは通常システム全体のパフォーマンスには悪いため、書き込み呼び出しが返されたときに重要なデータをストレージデバイスにコミットする必要がある場合にのみこれを実行してください。ファイルコピーは重要とは見なされないため、カーネルバッファは内部で書き込み、データを定期的にメディアにフラッシュします。

sync次のコマンドを使用して、オペレーティングシステムにこれらのすべてのキャッシュをフラッシュするように要求できます。

おすすめ記事