在 Windows 7 中禁用“设备上的写入缓存”是个好主意吗?

在 Windows 7 中禁用“设备上的写入缓存”是个好主意吗?

在 Windows 7 中禁用“设备上的写入缓存”是个好主意吗?

现在写入缓存已启用(这显然是默认设置)。

当前的设置

我正在使用一台重 90 磅的小型 Acer 笔记本电脑(不是上网本)。

已用空间:220 GB

可用空间:226 GB

当然,我想要一切!我想要速度,我想要安全。我最近从 Firefox 切换到 Opera 后速度有所提高,但偶尔笔记本电脑在运行浏览器 + thunderbird + MS Word + foxit(pdf viewer)+ notepad++ 时会出现混乱,然后我开始不得不关闭一些东西(但有时笔记本电脑太混乱了,甚至不知道如何关闭一些东西,我不得不重新启动)。

很高兴提供更多信息,请告诉我还应该添加什么,谢谢。

注意,我发现了一个相关问题但它涉及此对话框中的第二个复选框。我今天的问题是关于第一个复选框的。

答案1

得票最高的答案是错误的。有点。

这个特定的复选框并不涉及操作系统级别的写入缓存。

它用于驱动器级写入缓存。驱动器有 RAM,可以在驱动器级进行缓存。这如果操作系统不知道,则会导致问题。大多数磁盘出厂时都关闭了此功能,并允许操作系统在需要或知道的情况下启用它。

我所说的“知道”是什么意思?大多数文件系统都支持“屏障”的概念。也就是说,您必须将所有缓存的数据刷新到磁盘后才能继续。

Windows 支持发出屏障,因此启用驱动器写入缓存将不再是问题。您仍然可能会丢失数据,但不会对您的文件系统造成不可挽回的损坏。

破坏文件系统与破坏文件不同。

无论如何,这通常是安全的,因为 Windows 对刷新非常积极。第二个勾选框禁用显式刷新。这很糟糕。它将要导致文件系统损坏。不只是丢失一些 Word 文档之类的东西。

答案2

请记住,写入磁盘很慢,因此“写入缓存”会将数据缓冲在内存中,并且仅在超时或缓冲区已满后才将其保存到磁盘。这可能会提高您的性能,除非您知道自己在做什么,否则请不要禁用它。

这可以提高性能,因为无论如何,HDD 写入都是分块进行的。这可能过于简单,但想象一下您的 HDD 的块大小为 512 字节,并且您正在运行一个试图“逐字节”写入 512 字节的愚蠢程序。这种方法比一次写入 512 字节的方法花费的时间要长得多。因此,您的 SO 会为您缓冲数据并执行单次写入。需要注意的是,如果在实际写入之前断电,那么您将丢失数据。这就是该复选框警告您的原因。

您应该打开任务管理器并在资源监视器中检查磁盘活动。我猜您遇到了以下两种情况之一(或两种情况):

  1. 系统挂起时磁盘使用率为 100%
  2. 你的系统内存不足并且正在进行交换,从而增加了磁盘活动

当您没有足够的内存并且您的操作系统使用特殊的磁盘文件作为临时内存时,就会发生交换。如果您的操作系统必须开始将内存块移动到磁盘以释放空间用于其他块(这称为交换),您的系统似乎会挂起,因为从磁盘写入和读取慢得多那段记忆。

如果你的驱动器快满了,你应该尝试运行手动进行磁盘碎片整理。如果空间不足,磁盘碎片整理可能会失败,保持 Windows 磁盘空间超过 90% 通常不是一个好主意。您应该遵循这个很棒的答案中的步骤释放磁盘空间。

编辑: OP 在评论中指出我误读了帖子。磁盘是半满的,而不是几乎满了。运行磁盘碎片整理的建议仍然适用,但除非 Windows 没有以足够的频率运行它(因为 Windows 7 不时在后台运行它),否则可能不会有太大作用。不过,执行磁盘碎片整理并获得更多空间永远不会有坏处 ;)

相关内容