我有一个应用程序正在做很多的文件操作。它做了大量的文件读写操作(很多小文件)。 我们发现有些文件随机混杂在一起。 file1的输出到file2等等。 我们已经validation的代码没有并发问题。 它在所有其他平台上工作都期望AIX。
在Solaris我们遇到了这个问题,但是在启用directio之后,这个问题就解决了。
在AIX中我们试图启用dio,但这个问题仍然存在。
谢谢Nikesh PL
那么,它不适用于所有平台。 在启用直接I / O之前,它不能在Solaris上运行。 直接I / O强制同步写入和禁用预读,所以你正在改变I / O的时间,可能掩盖了根本原因。
您可以尝试debugging您的应用程序,这可能很困难且耗时,或者您也可以使用创可贴(band-aid)并启用AIX上的直接I / O。