userSteve Asked: 2017-04-28 01:25:37 +0800 CST2017-04-28 01:25:37 +0800 CST 2017-04-28 01:25:37 +0800 CST 被写缓存标志弄糊涂了 772 我希望通过启用写入缓存来最大限度地提高硬盘驱动器的性能。我了解这样做的风险,但相信它们对我将如何使用它无关紧要。 在 Windows的HD 属性选项卡上,最后两个选项有点令人困惑: Enable write caching on device- 好的,但它如何与前一个选项结合使用?它是覆盖 Windows 缓存还是与它一起工作? Turn off Windows write cache- 好的,但我为什么要这样做。如果我勾选此框,则仍然选择“更好的性能”选项,这与它本身相矛盾。 有人可以帮助弄清楚这些标志的作用以及它们如何相互影响/依赖。 windows 3 个回答 Voted Saïmonn 2017-05-05T09:04:54+08:002017-05-05T09:04:54+08:00 第二个选项不是您所说的“Windows缓存”,而是禁止“刷新”系统调用: Turn off Windows write cache buffer flushing 此选项将禁用某些应用程序(以及在机器关闭时)调用的刷新命令,其目的是有效地将磁盘缓存写入磁盘。 它不会禁用写缓存。 您可以尝试启用此选项,但有丢失数据的风险,但根据您的上下文,性能提升可能并不明显。 Ijustpressbuttons 2017-05-06T15:17:48+08:002017-05-06T15:17:48+08:00 搬迁政策中确实突出了差异。这看起来像一个类似的问题: https ://superuser.com/questions/215372/what-does-write-cache-buffer-flushing-mean Best Answer Mircea Vutcovici 2017-05-10T20:04:31+08:002017-05-10T20:04:31+08:00 您必须了解数据是如何写入磁盘的。 在将数据从进程写入物理磁盘的过程中涉及到几个子系统。 通常,这些进程要求内核(操作系统)将某些内容写入磁盘。内核本身也可以将一些数据写入磁盘,例如作为交换操作。 需要写入磁盘的内存页面保存在物理内存中称为文件系统缓存的区域中,称为脏页,如果满足以下条件之一,它将被写入磁盘: 该进程要求内核使用FlushFileBuffers调用将数据写入磁盘 自上次写入磁盘一段时间后 如果文件系统缓存没有可用内存(如果它应该丢弃非脏页、写入磁盘脏页、交换非活动内存页等,这是内核做出的一个复杂决定) 现在数据将进入磁盘,但磁盘子系统有 2 个组件对此解释很重要: 磁盘控制器,即磁盘上的电子板 可以是磁盘或闪存的永久存储器 现代磁盘控制器有一些称为磁盘缓冲区的内存模块。如果激活此功能,则刷新到磁盘子系统的数据将被写入磁盘缓冲区,操作系统和程序将认为操作已完成,但数据尚未在磁盘上。这样做的问题是,如果您重新启动计算机,您很可能会丢失数据。在文件系统损坏或数据库损坏之前,您可能不会注意到这一点。 以下是进程或操作系统需要将数据刷新到磁盘的一些原因: 他们有一个用于事务系统(如数据库或文件系统)的日志,并且他们需要强制写入磁盘的数据的一致性和完整性。 他们完成了一项重要的操作,例如创建文件和磁盘缓冲区,他们希望确保整个文件都在磁盘上 糟糕的编程 当前配置是性能和安全性之间的最佳权衡,除非您有 UPS(不间断电源)。
第二个选项不是您所说的“Windows缓存”,而是禁止“刷新”系统调用:
Turn off Windows write cache buffer flushing
此选项将禁用某些应用程序(以及在机器关闭时)调用的刷新命令,其目的是有效地将磁盘缓存写入磁盘。
它不会禁用写缓存。
您可以尝试启用此选项,但有丢失数据的风险,但根据您的上下文,性能提升可能并不明显。
搬迁政策中确实突出了差异。这看起来像一个类似的问题: https ://superuser.com/questions/215372/what-does-write-cache-buffer-flushing-mean
您必须了解数据是如何写入磁盘的。
在将数据从进程写入物理磁盘的过程中涉及到几个子系统。
通常,这些进程要求内核(操作系统)将某些内容写入磁盘。内核本身也可以将一些数据写入磁盘,例如作为交换操作。
需要写入磁盘的内存页面保存在物理内存中称为文件系统缓存的区域中,称为脏页,如果满足以下条件之一,它将被写入磁盘:
现在数据将进入磁盘,但磁盘子系统有 2 个组件对此解释很重要:
现代磁盘控制器有一些称为磁盘缓冲区的内存模块。如果激活此功能,则刷新到磁盘子系统的数据将被写入磁盘缓冲区,操作系统和程序将认为操作已完成,但数据尚未在磁盘上。这样做的问题是,如果您重新启动计算机,您很可能会丢失数据。在文件系统损坏或数据库损坏之前,您可能不会注意到这一点。
以下是进程或操作系统需要将数据刷新到磁盘的一些原因:
当前配置是性能和安全性之间的最佳权衡,除非您有 UPS(不间断电源)。