web-dev-qa-db-ja.com

noatimeでファイルシステムをマウントすることの欠点?

ファイルにアクセスするときにすべてのファイルを更新するのは無駄に聞こえます。

Noatimeオプションを使用してファイルシステムをマウントすることの難点は何ですか。どのようなアプリケーション/サーバーがアクセス時間に依存していますか?

63
nos

relatimeを検討してください:

新しくインストールした場合(〜2008)、relatimeマウントオプションを使用できます。これはしばらくの間、良い妥協案です。 カーネルトラップの議論 からこの新しいオプションの実装について:

「相対atimeは、前のatimeがmtimeまたはctimeよりも古い場合にのみatimeを更新します。noatimeと同様ですが、ファイルが最後に変更されてからいつファイルが読み取られたかを知る必要があるmuttなどのアプリケーションに役立ちます。」

これにより、時間を必要とするほとんどのアプリケーションは引き続き機能しますが、ディスクの負荷は軽減されます。つまり、妥協です。これは最近のUbuntuデスクトップディストリビューションのデフォルトです。

noatimeおよびnodiratimeについて:

noatimeをファイルに使用する場合、-noatimeに加えてnodiratimeを使用しない理由があるので、更新しませんディレクトリのアクセス時間も同様です。

言及されていない時間を有効にしておくもう1つの理由は、監査の目的です。しかし、アクセスされたwhoは保持されず、whenのみが保持されるため、おそらく監査証跡にはそれほど役立ちません。

これらのオプションはすべて「man mount 8」にあります。

48
Kyle Brandt

一定期間アクセスされなかった場合に、ファイルをセカンダリストレージに移動するアプリケーションが存在します。明らかに、彼らはatimeが必要です。

それ以外は、特にこれ以上の使用は見られません。特に、最近のファイルマネージャはファイルを開いてプレビューを生成する傾向があるため、ディレクトリを参照しているときにatimeを変更するだけです。

最近はいつもノアタイムでマウントしています。

18
Sven

たとえば、これに依存するアプリケーションはほとんどありません Mutt は、最後にアクセスしてからフォルダが新しいメールを受信したかどうかを判断できません。

一般的に私と others noatimeをマウントすることは良い考えだと思います。

15
James

まだ言及されていない主な欠点は、tmpreaperプロセス(つまり、しばらくアクセスされていない/ tmp内のファイルを削除するプログラム)がある場合、まだ使用されているtmpファイルが削除される可能性があることです。

relatimeはnoatimeよりも優れたオプションです。最後のatime更新以降にファイルが変更されている場合にのみ、atimeが更新されます。これはメールクライアントにとって明らかな利点があります。それでもtmpreaperの問題は修正されません(ファイルは書き込まれずに古くから/ tmpから読み取られる場合があります)。

全体として、デメリットは軽微であり(いくつかの特別な場合を除いて存在しない)、パフォーマンスのメリットは非常に大きくなります。

10
cas