たくさんのファイル操作をしているアプリケーションがあります。たくさんのファイルの読み取りと書き込み操作(たくさんの小さなファイル)を実行しています。一部のファイルがランダムに混同されていることがわかりました。 file1の出力はfile2に送られます。検証したコードからの同時実行の問題はありません。他のすべてのプラットフォームでの動作には、AIXが必要です。
Solarisではこの問題に直面しましたが、directioを有効にすると、この問題は解決されます。
AIXでは、dioを有効にしようとしましたが、それでもこの問題は解決しません。
ありがとうNikeshPL
まあ、それはすべてのプラットフォームで動作しているわけではありません。直接I/Oを有効にするまで、Solarisでは機能しません。直接I/Oは同期書き込みを強制し、先読みを無効にするため、I/Oのタイミングを変更し、根本原因を隠している可能性があります。
アプリのデバッグを試すことができますが、これは困難で時間がかかる場合があります。または、バンドエイドを叩いて AIXで直接I/Oを有効にする もできます。