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


11

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

我尝试将Superfetch设置为仅缓存启动文件(有帮助)并关闭分页文件(有帮助,并且在Windows XP中对我来说效果很好;但是Windows Vista / Windows 7不允许这样做-它显示“低即使我有1 GB的可用内存,也会经常出现“内存不足”消息。)

你能建议我做什么?


6
您不想关闭具有4GB RAM的超取,但是您可能想要关闭索引编制。不管页面文件如何,Windows都比我们任何人都了解得多。不过,我无法进行分页。
Phoshi

2
不,我当然想关闭它。该死的东西设计太糟糕了。一旦我发现它在每次启动时都加载了某个游戏的所有文件(我曾经晚上玩),那消耗了我一半的RAM,那是最后一天,Superfetch在不受限制的设置下在我的PC上运行。
skevar7 2009年

1
术语“抖动”通常是指物理内存已满或几乎已满,并且发生恒定页面交换的情况。它不涉及正常的页面交换活动。您所看到的不是ing动,而是内存管理算法的设计方式。为新产生的进程保留可用的空间,假定未使用窗口最小化的进程,应将其内存移至磁盘等。
助力

2
这是有史以来最糟糕的决定,因为因为最小化了一个窗口而不使用它。如果将其最小化,那是因为在执行多任务处理时,屏幕上没有足够的空间容纳它。我非常讨厌返回计算机,尽管程序很少运行,但是当我从最小化状态还原某些窗口时,尽管有可用RAM的GIG,但是从页面文件中带回数据会滞后和停顿。除非我内存不足,否则切勿触摸页面文件。如果Windows要对最小化的程序做出假设,请在实际上没有足够的RAM时进行。
Triynko

Answers:


7

Mark Russianovich撰写了一篇有关虚拟内存的不错的长篇文章,《
推动Windows的极限:虚拟内存》

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

尽管虚拟内存具有与物理内存限制相关的限制,但虚拟内存具有源自不同来源的限制,并且这些限制取决于使用者。例如,虚拟内存限制适用于运行应用程序,操作系统以及整个系统的各个进程。重要的是要记住,在阅读本文时,顾名思义,虚拟内存与物理内存没有直接连接。Windows为文件缓存分配一定数量的虚拟内存并没有决定其实际缓存在物理内存中的文件数据的数量。它可以是任何数量,从无到大于可以通过虚拟内存寻址的数量。

这是一本很好的读物。

我应该制作多大的分页文件?
与虚拟内存相关的最常见的问题之一可能是,我应该将页面文件制作成多大?在网络上以及涵盖Windows的报亭杂志上,没有任何荒谬的建议,甚至微软也发布了误导性的建议。几乎所有建议都是基于将RAM大小乘以某个因子得出的,通用值为1.2、1.5和2。现在,您已经了解了分页文件在定义系统的提交限制中所扮演的角色以及进程如何对提交费用做出贡献,您可以很好地了解此类公式的真正用处。


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

您可以使用Alex IonescuMeminfo工具查看物理内存布局。


5
我那里没什么新鲜的。那根本不是我的问题的答案。
skevar7

2
@ skevar7:也许这不是您的答案,但是很好的链接指向了对整件事的解释,这适用于那些会发现此主题并且知识不如您的人。
2009年

1
经验法则:甚至绝对不要提及分页,除非它与您的问题有绝对的把握,或者如果您只是想引发关于DO和DO N'T的无休止的讨论... Web浏览器和防病毒软件也是如此: )

1
我绝对确定分页是有罪的,因为磁盘抖动时coz perfmon会显示硬故障。我当然知道关闭页面文件可以显着提高性能。这是一个客观事实,可以衡量。唯一的问题是Windows,因为Vista不再希望在这种配置下工作。
skevar7

3
@ skevar7:也许,也许也许,有能力的人在考虑Microsoft,他们认为并认为需要页面文件。他们不只是为了打扰您而已。
Gnoupi

4

只需将虚拟内存管理留给Windows,就可以很好地完成工作。分页(因此,Mark Russinovic关于此事的模糊)与磁盘抖动(如果您有足够的系统内存)无关紧要,您正在寻找NTFS调整项

O'Reilly有一篇有关NTFS Performance Hacks的有趣文章。

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

这是如何消除内存不足警告,拥有所有权并核对以下注册表项的方法。

[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中提供了密钥。尽管如此,我还没有尝试过-在删除密钥之前先备份它们。


2

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

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

(需要重新启动)。

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


我怀疑您有一个古怪或缓慢的驱动器想要那个。我有一些相似之处,与大多数人在这里所做的假设相反,您所做的将是一个很好的解决方案。与替换慢速介质相比,增加RAM并使用最少的磁盘分页或不使用磁盘分页可能是更智能(且经济)的解决方案。
13年

该注册表设置不会“关闭分页”。它仅禁用对ntoskrnl.exe和页面缓冲池的可页面部分的分页。
Jamie Hanrahan

不了解Vista,但是在Windows 7上我禁用了分页功能,并且没有问题和警告。这是8或16GB的RAM。
i486

1

签出控制面板\系统和安全性\系统>高级系统设置> [高级]>性能:设置> [高级]

处理器调度与您的问题有关,它也可以禁用不应执行的分页文件。(你需要它)


0

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

系统是否运行缓慢,还是因为看到HD指示灯闪烁而只是在使用thrash这个词?


没有清洁工。有时执行简单的操作(5-10秒)会比平时花费更多的时间,并且磁盘发生故障。这通常是在应用闲置一段时间后发生的。非常简单的操作-在Opera中打开新标签,在Visual Studio中创建新文件,等等。因此,我认为Windows分页算法远非完美。在WinXP中,完全关闭分页文件对我来说效果很好,但是不幸的是Vista和Win7不允许这样做。
skevar7年9

与许多操作系统不同,Windows将在不崩溃的情况下解决大量硬件问题,并且可能在后台进行某种类型的恢复,从而导致延迟。我知道它很糟,但是请运行高清测试以确保它不会被塞住,因为它听起来确实像是一个I / O问题,因为当您不允许系统使用交换功能时问题就消失了。检查与I / O,高清控制器等相关的BIOS更新,因为可能存在已知问题。系统是否需要永久启动(XP,Vista或7)?如果是这样,那肯定是一个I / O问题。
UnderLoK,2009年

*我应该说“ Windows会在不通知您问题的情况下解决大量硬件问题”;)
UnderLoK,2009年

0

转移到Linux,它并没有这样做。

人们会告诉您Windows比您更智能,并且您不应该摆弄页面文件设置,而且它们是正确的。但是大多数情况下,该系统已调整为几乎可以立即为一个进程分配新的内存,而且这样做确实很好。副作用之一是,它将所有内存中的所有内容一直移动到磁盘中,因此,当需要新的内存部分时,它可能会擦除这部分内存,并且如果它没有发生变化,则立即将其分配。我相信,当您让应用程序运行时,所有这些数据都存储在磁盘中,然后在某些时候其他应用程序或缓存系统开始使用此内存。因此,应用程序会将其最少的数据保留到物理RAM中,并且当您再次开始使用它时,它必须从磁盘取回所有内容。

就是说,我认为您不能用它做任何事情,它只是系统的主要特性之一。关闭页面或进行任何其他系统调整,只会使情况变得更糟。您不能按照自己的意愿来工作,因为它并不是在编写时就考虑到的。


2
再次出现“我的Windows会这样做,我怎么...?->转到linux”答案。但是,其余的答案是正确的,但是您可以不用第一句话就可以完成。
Gnoupi

好的,但是当您有8GB RAM且真正需要3GB时-为什么需要进行任何磁盘交换?另一方面,假设您有2GB的物理RAM + 2GB的交换文件-该系统如何工作而不会发生“爆炸”?4GB足以满足所有需求,但具有8GB物理RAM + 0交换空间则“可能”没有足够的内存。怎么样?我认为虚拟内存算法在Windows 95时代是错误的,并且在Windows 10中没有更改
。– i486
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.