答え1
スポイラーにファイルシステムが表示されていることを確認してくださいgrep -w sync /proc/mounts
。答えは「いいえ」です。即時同期によるファイルシステムのマウントは非常に遅いです。 (また、小さな書き込みが発生し、フラッシュデバイスの寿命が短くなります。)
一部のアプリケーションでは、以下を呼び出してデータをディスクにフラッシュします。fdatasync
。残念ながら、Unix APIは弾力性を考慮してうまく設計されていません。アプリケーションの観点からは、アプリケーションが変更が保存されたことを示すデータをリモートシステムに送信したため、特定の変更には回復力が必要です。この場合はfdatasync
正しいインターフェースです。しかし、多くのアプリケーションには何か他のものが必要です。つまり、1を変更してから2を変更してシステムが途中でクラッシュした場合、変更1のない変更2は再起動後に表示されないという保証が必要です。 (例:変更1 =ファイルシステムの新しいバージョンの書き込み、変更2 =以前のバージョンの削除。)ファイルシステムは、パフォーマンスを向上させるためにファイルシステムの書き込み順序を変更します。これは通常ファイルシステムにのみ関連するため、アプリケーションには表示されません。アプリケーションに表示されるのではなく、キャッシュ/バッファとディスクの間で発生します。ただし、システムの競合が発生した場合、ディスクの内容は物理ディスクの書き込み順序を反映します。 「この変更はこの変更の前に発生する必要があります」と述べたAPIがないため、アプリケーションはfdatasync
貧しい人々の代替として機能します(変更1を実行して呼び出してfdatasync
ディスクに伝播されたことを確認し、変更2を実行します)。これは、特に書き込み速度が遅いメディア(フラッシュメモリなど)の場合、パフォーマンスに悪影響を及ぼす可能性があります。
fdatasync
過度の使用や類似の理由でシステムでアプリケーションの速度が遅くなる場合は、次のようにfsync
使用できます。私のデータを食べる無効化fsync
/fdatasync
電話。ただし、システムが途中でクラッシュした場合、一貫性のないデータが残る可能性があることに注意してください。
私の答えがFirefoxアドオンの設定を覚えているか変更するのかどうかはわかりません。これらのタスクは次のようになる可能性があります。読むディスクから。特に考えると、その役割は多くのデータを読むことです!
また、変更がすぐにディスクに同期されなくても、一部のデータが書き込まれると予想されることがあります。データがディスクに書き込まれない場合は、メモリに残る必要があり、メモリは他の有用な用途には使用できません。さらに、ディスクを使い続けないのは無駄です。書き込みデータが存在する場合、アプリケーションは実行を続け、より多くのデータを生成する間、カーネルは書き込みを開始します。
1ファイルシステム設計の文脈では、復元力は、システムがクラッシュしたときにファイルシステムの変更が保存されるかどうかに関する質問を表します。