这个问题多年来一直困扰着我,到目前为止我找不到合适的解决方案。
这个问题几乎发生在我完成的每个 XP 安装中。打开各种程序或系统运行已有程序一段时间后,Windows似乎资源耗尽,没有告诉我。
有总是免费的RAM。例如,它只是发生在我身上,而且我有超过一场演出的可用 RAM。没有病毒、间谍软件或其他废话——这是一个Windows 资源问题,但问题是它耗尽了哪个资源,如何查明它,以及如何防止它?
有时,这是在运行特定程序后发生的 - 例如,今天当我同时启动 Photoshop CS4 和 Flash CS4 时会发生这种情况。我还注意到重新启动 The Bat(Ritlabs 的电子邮件客户端)似乎暂时解决了这个问题,但同样,这种情况发生在甚至没有安装 The Bat 的机器上。
那么究竟发生了什么? 症状是:
按 alt-tab 不再显示列表 - 它只是立即跳转到下一个窗口,与 Alt-Esc 的工作方式非常相似,但是在这种情况下,这是由于没有足够的资源来显示 alt-标签菜单
随机程序会随机崩溃,引用随机错误、内存不足错误、系统资源、无法进行系统调用等。
随机程序会开始丢失随机部分 - 例如,Firefox 顶部菜单可能会消失、拉出部分选择或完全不再拉出。IE 可能会丢失一些工具栏。某些程序可能无法重绘,或者只是在 UI 以前的位置变灰。
Windows 本身从不抱怨 RAM、虚拟内存或任何东西都用完了,但它却在用尽某些东西。
我今天能够找到并应用修复程序的唯一线索是这个Desktop Heap Limitation。由于时间不够,我还没有确认修复工作。与此同时,大家的想法是什么?
Las*_*sen 12
可能是您正在运行的程序中的句柄泄漏。我的一个程序中存在一个错误,显示了这些问题,启动新程序时会出现工具栏丢失或不完整、文件->打开对话框未显示、alt-tabbing 无法正常工作以及奇怪的错误等问题。
在任务管理器中,您可以使用“视图”->“列”菜单来显示句柄以及用户和 gdi 对象的列,它们都使用句柄,如果您在那里发现一个数字很高的程序,它可能是罪魁祸首。
不幸的是,究竟什么是“高数”完全取决于程序。
尤其要注意句柄计数稳定增加的任何程序,因为这可能表明存在此类泄漏。
那是因为 Windows 有所谓的“桌面堆”,其中大多数 GUI 对象、菜单、图标以及您拥有的东西都在其中。这个空间非常有限,而且,更重要的是,大小是固定的。
请参阅Q126962:在桌面堆上寻求解决方案并阅读Raymond Chen以获取更多信息。
归档时间: |
|
查看次数: |
6462 次 |
最近记录: |