如何减少磁盘抖动(分页)?

如何减少磁盘抖动(分页)?

我有 4 GB 的 RAM,但 Windows 有时仍会破坏磁盘(尤其是当应用程序最小化一段时间然后我再次激活它时)。完全愚蠢,因为任务管理器显示 2 GB 的 RAM 是空闲的。有什么方法可以防止 Windows 交换出程序内存吗?

我尝试设置超级提取仅缓存启动文件(这有一点帮助)并关闭页面文件(这有很大帮助,并且在 Windows XP 中对我来说效果很好;但 Windows Vista/Windows 7 不允许这样做 - 它经常显示“内存不足”消息,即使我有 1 GB 的可用 RAM。)

您能建议我做什么?

答案1

Mark Russianovich 写了一篇关于虚拟内存的长篇文章,
突破 Windows 的极限:虚拟内存

虚拟内存将程序的内存视图与系统的物理内存分开,因此操作系统决定何时以及是否将程序的代码和数据存储在物理内存中以及何时将其存储在文件中。虚拟内存的主要优点是它允许比物理内存中容纳的更多的进程同时执行。

虽然虚拟内存的限制与物理内存的限制相关,但虚拟内存的限制来自不同的来源,并且因消费者而异。例如,虚拟内存限制适用于运行应用程序的单个进程、操作系统以及整个系统。阅读本文时,请务必记住,顾名思义,虚拟内存与物理内存没有直接联系。Windows 为文件缓存分配一定数量的虚拟内存并不决定它在物理内存中实际缓存了多少文件数据;它可以是任何数量,从零到超过可通过虚拟内存寻址的数量。

这是一本非常值得一读的书。

我应该将页面文件设为多大?
也许与虚拟内存相关的最常见问题之一是,我应该将页面文件设为多大?网络上和报摊上有关 Windows 的杂志中充斥着各种荒谬的建议,甚至微软也发布了误导性的建议。几乎所有建议都是基于将 RAM 大小乘以某个因子,常用值为 1.2、1.5 和 2。现在您了解了页面文件在定义系统提交限制方面所起的作用以及进程如何影响提交费用,您就能明白这些公式是多么无用。


先前的文章:突破 Windows 的极限:物理内存

您可以使用以下代码查看物理内存布局万明信息工具亚历克斯·伊内斯库

答案2

只需将虚拟内存管理留给 Windows,它就能很好地完成工作。分页(以及 Mark Russinovic 关于此事的简介)与磁盘抖动无关(如果您的系统内存充足),您正在寻找NTFS 调整

O'Reilly 有一篇有趣的文章NTFS 性能黑客

在硬件方面:具有更高旋转速度和更大缓存的更好的硬盘也将有很大帮助。

以下是如何消除低内存警告、获取所有权并删除以下注册表项的方法。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {5EE64AFB-398D-4edb-AF71-3B830219ABF7}]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}]

这将阻止诊断服务加载 RADAR。它在 Windows Vista 中对我有用,密钥在 Windows 7 中存在。但我还没有尝试过 - 只需在删除这些密钥之前备份它们即可。

答案3

我发现的唯一方法是将 RAM 大小增加到 8 GB,并通过设置关闭分页

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive=1

(需要重新启动)。

这使得磁盘活动减少到几乎为零。

答案4

听起来你安装了缓存/内存清理器。当你最小化应用程序时,它们会将应用程序移至交换区,而不是将它们留在内存中。

系统是否很慢,或者您只是因为看到高清灯闪烁而使用了“混乱”这个词?

相关内容