10.2.6. 禁用磁盘写入缓存中的备注
无论您是从操作系统执行 fsync()
还是从 Java 程序内部正确同步数据,都会出现这种情况!
默认情况下,许多系统都启用了磁盘写入缓存。这意味着即使在从操作系统同步之后,仍无法保证数据实际将其传输到磁盘,因此在出现故障时,关键数据可能会丢失。
有些更昂贵的磁盘具有非易失性或电池支持的写入缓存,这些写入缓存不一定会在发生故障时丢失数据,但您需要对其进行测试!
如果您的磁盘没有昂贵的非易失性或受电池支持的缓存,且它不是某种冗余阵列的一部分,例如 RAID,并且您需要确保禁用磁盘写入缓存的数据完整性。
请注意,禁用磁盘写入缓存可让您明智地获取性能。如果您使用的是使用在默认设置中启用了写入缓存的磁盘,则不知道您的数据完整性可能会受到破坏,那么禁用它将使您了解磁盘在真正可靠的操作时能执行的速度。
在 Linux 上,您可以使用 IDE 磁盘的工具 hdparm 或
sdparm
或 sginfo
检查或更改磁盘的写入缓存设置。
在 Windows 上,您可以通过右键单击磁盘并单击属性来检查和更改设置。