Windows XP似乎资源不足,但有大量可用的RAM和交换空间


12

这个问题困扰了我多年,到目前为止,我找不到合适的解决方案。

我完成的每个XP安装几乎都会出现此问题。在打开各种程序或运行现有程序的系统一段时间后,Windows似乎耗尽了资源,而没有告诉我。

总是免费的RAM。例如,这只是发生在我身上,而我有超过一堆的可用RAM。没有病毒,间谍软件或其他废话-这是Windows资源的问题,但问题是该资源用尽了,如何查明该资源,以及如何防止该资源?

有时,这是在运行特定程序后发生的-例如,今天是在我同时启动Photoshop CS4和Flash CS4时发生的。我还注意到,重新启动The Bat(Ritlabs的电子邮件客户端)似乎可以暂时解决此问题,但是同样,在没有安装Bat的计算机上也会发生这种情况。

那么到底发生了什么呢? 症状是:

  • 按alt-tab不再显示列表-它只是立即跳转到下一个窗口,与Alt-Esc的工作方式非常相似,但是在这种情况下,这是由于没有足够的资源来显示alt-标签菜单

  • 随机程序会由于随机错误,内存不足错误,系统资源,无法执行系统调用等原因而随机崩溃。

  • 随机程序将开始缺少随机部分-例如,Firefox顶部菜单可能会消失,拉动部分选择或不再完全拉起。IE可能会丢失一些工具栏。某些程序可能无法重绘,或者只会变成UI以前的灰色。

  • Windows本身从来没有抱怨过RAM,虚拟内存或其他任何东西都用完了,但是它已经用完

我今天能够找到并应用此修复程序的唯一线索是此Desktop Heap Limitation。由于没有足够的时间,我尚未确认修复程序可以正常工作。同时,大家的想法是什么?

Answers:


12

可能是您正在运行的程序中的句柄泄漏。我的一个程序中出现一个错误,这些程序出现了这些问题,启动新程序会遇到工具栏丢失或不完整,文件->打开对话框未显示,alt-tab键无法正常工作以及奇怪的错误等问题。

在任务管理器中,您可以使用“视图”->“列”菜单显示句柄以及用户和gdi对象的列,它们均使用句柄,如果在该处找到数量很大的程序,则可能是罪魁祸首。

不幸的是,确切的“高数字”完全取决于程序。

特别是,请注意其句柄计数稳定增加的任何程序,因为这可能表明存在此类泄漏。


1
啊,现在到了某个地方。可能的原因以及跟踪原因的方法。谢谢,在此期间投票。将监视罪魁祸首。到目前为止,Firefox,Probe2(由Asus制造),Winamp和Flash CS4拥有最多的GDI对象-每个对象超过1000个。蝙蝠有701,我将密切监视它。
Artem Russakovskii 09年

老实说,这听起来还不错。
拉瑟五世卡尔森

呵呵,目前系统还没有崩溃,所以确实没有崩溃。
Artem Russakovskii 09年

好的,系统现在崩溃了。以下是最差的GDI对象的计数:firefox-2382,probe2-1375,winamp-1239,flash-1069,snagiteditor-971,thebat-758。 5972,系统-2702,svchost.exe-2384,csrss.exe 1238,Firefox-1170,Flash-1036,日食-962。Hrm...
Artem Russakovskii 09年

嗯,看起来我需要重新启动才能使Heap更改生效,如此处support.microsoft.com/default.aspx?scid=kb;EN-US;184802所示。找出我到底在哪里最大化将是很棒的。
Artem Russakovskii 09年

6

这是因为Windows具有所谓的“桌面堆”,其中大多数GUI对象都存在,菜单,图标以及您所拥有的东西。而且这个空间非常有限,更重要的是,它的大小是固定的。

请参阅Q126962:在桌面堆上以获取解决方案,并阅读Raymond Chen以获得更多信息。


是的,我在问题末尾提到了那个。感谢您提供更多信息。到目前为止,这是一个不错的辅助答案。
Artem Russakovskii 09年

哦,对不起,没有注意到最后一句话:)但这正是原因,您可以使用Process Explorer中的大多数句柄检查哪个进程,将其杀死,仅此一项就可以解决问题。
vava

2

Windows上的术语“资源”或“系统资源”是指操作系统内部的各种对象(例如,窗口句柄)。Windows限制了分配给资源的空间,因此它们无法使用所有系统内存。这就是为什么您有足够的可用内存但没有足够的资源空间的原因。

Winternals和Sysinternals的知名人士Mark Russinovich和David Solomon 撰写了一本书,详细介绍了Windows的精髓:Windows Internals。第四版涵盖Windows 2000,XP和Server 2003,可以单独使用,也可以作为Windows Server 2003资源工具包的一部分提供。第五版将于2009年6月发行,涵盖Windows Vista和Server2008。这两个卷之一或全部可能对您有所帮助,但要警告:这不仅是星期六下午的阅读!


1

驱动程序和其他足够不足以在内核中或内核中进行播放的东西,在它们无法正常工作时可能会导致大问题-而且这是瓶颈,在明显的CPU,内存或磁盘I / O中并不总是可见路径。


确实如此,但是我遇到过的计算机没有硬件共享-有些是笔记本电脑,有些是台式机。通常,不同驱动程序中的讨厌错误会困扰我的所有计算机,但可能性很小。这个问题最有可能在操作系统内部更深层次地出现,就像我帖子中的最后一个链接所暗示的那样。时间会证明一切,但这不是我正在寻找的解决方案。抱歉:)
Artem Russakovskii,2009年

另外,我正在寻找诊断,量化问题资源并对其进行归零的方法。任何指针都会很好。
Artem Russakovskii 09年

流程浏览器(technet.microsoft.com/zh-cn/sysinternals/bb896653.aspx)是我要使用的第一个工具-消耗什么资源?我们在这里谈论多少内存?这些机器中的每台机器至少有1GB或更少?

我还使用扩展任务管理器(extensoft.com/?p=free_task_manager)对发生的事情进行了比内置的更好的检查。

哦,最后,verifier.exe(support.microsoft.com/kb/244617)可以帮助诊断和解决驱动程序问题。

0

“一个具有11,456个句柄的真正可疑的spoolsv.exe”

这是打印作业后台处理程序...您是否正在等待打印作业,还是需要将其吹走?

打印机驱动程序损坏?


0

您是否安装了某种“调谐软件”?这些设置中大多数都没有设置。大多数应用程序的设置只能提高基准性能,但会通过旋转内存管理器的旋钮来降低实际工作负载性能(例如,交互性)。


不,我没有-所有Windows XP安装都会遇到此问题,至少在高级用户级别使用它们时会遇到此问题。
Artem Russakovskii

我是高级用户中的高级用户,而我很少看到此类问题。我认为您正在运行一些狡猾的程序。
Jamie Hanrahan 2015年
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.