![为什么Windows UI在长时间闲置后响应会很慢?](https://linux22.com/image/1307230/%E4%B8%BA%E4%BB%80%E4%B9%88Windows%20UI%E5%9C%A8%E9%95%BF%E6%97%B6%E9%97%B4%E9%97%B2%E7%BD%AE%E5%90%8E%E5%93%8D%E5%BA%94%E4%BC%9A%E5%BE%88%E6%85%A2%EF%BC%9F.png)
我在台式计算机中打开了这些应用程序:
- Visual Studio 2010 专业版
- IBM Lotus Notes
- 谷歌浏览器
当我闲置一小时并恢复窗口时,用户界面响应非常慢。我的电脑闲置 5 分钟后就会自动锁定。我还使用 docklet 最小化应用程序(RocketDock)。
它为什么会变慢?我怎样才能防止它变慢?
我的操作系统是 Windows XP Professional SP3、Pentum(R) 双核 @ 2.80 GHz、1.99 GB RAM。
答案1
您需要打开任务管理器,查看 CPU 使用率或内存使用率是否过高。
分页可能是一个问题,特别是当所有这些打开的应用程序消耗了接近物理 RAM 总量时。当您最小化窗口时,您是在告诉 Windows 可以更积极地分页该应用程序,因此如果在恢复系统时系统上存在大量资源争用,则可能需要一些时间进行“换出/换入”。
安装更多物理 RAM 会有所帮助。还可以安装 SSD。
如果您在 Chrome 中打开了运行 Javascript 的页面,它们可能会在后台消耗 RAM 和/或 CPU。在 Javascript 中运行的程序可能会随着时间的推移使用更多内存。如果您在 Chrome 中启用了“预测网络操作以提高性能”,则可能会导致 Chrome 随着时间的推移使用更多内存,但我从未测试过它。
此外,这些应用程序中的一个或多个可能存在内存泄漏,或者其中存在一些活动,导致随着时间的推移消耗更多的 RAM。
答案2
解决空闲问题花了很长时间,但最终在我的 XP 上成功破解了它。
Windows XP 空闲后运行速度非常慢,这似乎是由于pagefile.sys
文件碎片过多,导致页面文件系统缓存 (PF 使用率) 占用过多的磁盘 I/O 活动(写入硬盘)。因此,没有显示实际的 CPU 使用率,更改 PF 使用率级别可能不会产生太大影响,因为这不是 PF 的大小,而是 PF 的碎片(常规碎片整理工具不会触及此文件)。
在我使用可以访问它的工具(PageDefrag v2.32 By Mark Russinovich)进行碎片整理后,速度不再变慢。pagefile.sys
一个更简单的解决方案可能是将计算机设置为在关机时清除页面文件(我没有尝试过,但可能也有效 - 见下文)。
高 I/O 不是来自恶意程序或病毒。而是 pagefile.sys 文件碎片的缓慢积累,磁盘区域存储当前的虚拟内存块。我的 pagefile.sys 有大约 264,000 个碎片。虚拟内存存储在 4KB 块中,但碎片块模式占用了过多的 I/O,导致计算机处于空闲状态后驱动器无法读取。
在空闲期间,大量应用程序数据被发送到页面文件,而不是保存在 RAM 中。然后,当您再次开始使用应用程序时,计算机会从 pagefile.sys 中获取数据:但如果 pagefile.sys 高度碎片化,则磁盘读取速度可能会非常慢。例如,我坐在那里 30 秒几乎没有发生任何事情,或者看着网页几乎一次加载一个像素行。
我进行了碎片整理pagefile.sys
,但也许清除文件更简单,例如:
- 单击“开始”
- 单击“控制面板”
- 单击“管理工具”
- 单击“本地安全策略”
- 点击本地政策旁边的“+”
- 单击“安全选项”
- 双击“关机:清除虚拟内存
或者:
启动注册表编辑器 (Regedt32.exe)。
将以下注册表项中的 ClearPageFileAtShutdown 值的数据值更改为值 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
如果该值不存在,则添加以下值:
Value Name: ClearPageFileAtShutdown
Value Type: REG_DWORD
Value: 1
祝你好运!
参考: