ジャーナル化されたファイルシステムに一時ファイルがたくさんありますか?

ジャーナル化されたファイルシステムに一時ファイルがたくさんありますか?

多数のファイルを素早く書き込んだり削除したりする

一定期間にわたって、1 秒あたり多数の一時ファイルを書き込みます。各ファイルは数ミリ秒後に削除されます。

たとえば、高速カメラからの部分フレーム(1 秒あたり約 2000 フレーム)を処理する画像処理ソフトウェアがあるとします。各フレームはファイルに書き込まれ、その後、同じ数ミリ秒の間にファイルが少し変更され、再度読み込まれ、削除されます。

これは現在tmpfsファイルシステム上で実行されていますが、実行できないと仮定しましょう。
そして、私は実行できません。「そうやって直せばいい」一部のレガシー統合にはこれが必要です。

ファイルシステムはどのように対処していますか?

これがファイルシステム オプションとどのように相互作用するかを理解したいと思います。具体的には、ファイルシステム ジャーナルがこれとどのように相互作用するのかが理解できません。

素朴な考えとしては、データがディスクに触れず、メタデータさえも触れないことを望むことができます。ファイルを作成してから削除した後、データは同じですよね?また、ディレクトリに名前を書き込んで削除した後、ディレクトリも同じですよね?

驚くべき効果

何も間違っていません。

ディレクトリは、新しいファイル名を保存するために 1 つの場所を再利用したり、別の場所を再利用したりするなど、複数の方法で同じファイル名を表すことができます。
つまり、ディスク ブロックに書き込み操作があった場合、ファイル システム レベルの変更がなくても変更されている可能性があるため、ディスクに書き込む必要があります。

しかし、4 つの操作ごとに 1 回ずつ書き込まれないようにすることはできますか? ジャーナルはどうですか? 一時データはジャーナルに保存されてしまうのでしょうか? それを防ぐことはできますか?

質問ですが、そうする際にはどのようなことに注意したり、留意したりすればよいのでしょうか?

答え1

理論は説明できますが、実際の経験はありません。ファイルは数秒ごとにメモリからディスクにプッシュされ、すぐに削除されたファイルはディスクに残らないと読みました。ジャーナルにも残りません。

ファイルがプッシュされるには 5 秒間存在する必要があるのか​​、それとも 5 秒ごとに行われるチェックポイントの瞬間にたまたま存在するだけなのかはわかりません。おそらく後者でしょう。もしそうなら、一部のファイルはディスクに吸い込まれます。これは短時間定期的に発生します。

いくつかありますマウントオプション調べてみることをお勧めします。間隔を長くすることで、チェックポイントの瞬間を任意に稀にすることができますが、それでも発生します。また、遅延割り当てには、説明できない理由により、データがディスクにプッシュされたままになるという副作用があります。それについてどこで読んだかは覚えていません。

  • commit=nrsec (すべてのデータとメタデータを nrsec 秒ごとに同期します。デフォルト値は 5 秒です。0 はデフォルトを意味します。) Ext3 の場合
  • Ext4 の delalloc (ブロック割り当てを書き出し時まで延期する)

提案された解決策:メモリ内ファイルシステムを使用します。この方法により、ディスク上に何も残らないことが確実になります。tmpfs または ramfs のどちらでも、スワップできるかどうか、指定された容量を超えて拡張できるかどうかなど、いくつかの違いがあります。これは基本的に現在使用しているものであることはわかっています。/tmp である必要はなく、任意のディレクトリ上にこのようなタイプの新しいファイルシステムを作成できます。

http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/

関連情報