ske*_*ar7 11 windows-7 windows-vista
我有 4 GB 的 RAM,但 Windows 有时仍然会抖动磁盘(尤其是当应用程序最小化一段时间然后我再次激活它时)。完全愚蠢,因为任务管理器显示 2 GB 的 RAM 是免费的。有什么办法可以防止 Windows 换出程序内存?
我尝试将Superfetch设置为仅缓存启动文件(它有点帮助)并关闭分页文件(它帮助很大,并且在 Windows XP 中对我来说效果很好;但 Windows Vista/Windows 7 不允许这样做 - 它显示“低on memory”消息经常出现,即使我有 1 GB 的可用 RAM。)
你能建议我做什么?
Mark Russianovich 写了一篇关于虚拟内存的长篇文章,
推动 Windows 的极限:虚拟内存
虚拟内存将程序的内存视图与系统的物理内存分开,因此操作系统决定何时以及是否将程序的代码和数据存储在物理内存中,以及何时将其存储在文件中。虚拟内存的主要优点是它允许并发执行比物理内存中可能容纳的更多进程。
虽然虚拟内存具有与物理内存限制相关的限制,但虚拟内存具有源自不同来源且因使用者而异的限制。例如,存在适用于运行应用程序的单个进程、操作系统以及整个系统的虚拟内存限制。阅读本文时请务必记住,顾名思义,虚拟内存与物理内存没有直接联系。Windows 为文件缓存分配了一定数量的虚拟内存并没有规定它实际在物理内存中缓存了多少文件数据;它可以是任何数量,从无到超过可通过虚拟内存寻址的数量。
这是一本非常好的读物。
我应该使分页文件有多大?
也许与虚拟内存相关的最常见问题之一是,我应该将分页文件制作成多大?网络上和涵盖 Windows 的报摊杂志上有无数荒谬的建议,甚至 Microsoft 也发布了误导性的建议。几乎所有的建议都是基于将 RAM 大小乘以某个因子,常见值为 1.2、1.5 和 2。 现在您了解了分页文件在定义系统提交限制方面的作用以及进程如何对提交费用做出贡献,您可以很好地了解这些公式是多么无用。
之前的文章:突破 Windows 的极限:物理内存
您可以使用Alex Ionescu的Meminfo工具查看物理内存布局。
我发现的唯一方法是将 RAM 大小增加到 8 GB,并通过设置关闭分页
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive=1
(需要重新启动)。
这将磁盘活动减少到几乎为零。