【发布时间】:2010-10-16 08:43:38
【问题描述】:
我正在调试一个应用程序,它严重降低了系统的速度。应用程序从本地硬盘加载大量数据(大约 1000 个文件,每个半 MB)。这些文件作为内存映射文件加载,并且仅在需要时进行映射。这意味着在任何给定时间点,虚拟内存使用量都不会超过 300 MB。
我还使用 sysinternals 中的 handle.exe 检查了句柄计数,发现最多打开了大约 8000 个奇数句柄。卸载数据时,它会下降到 400 左右。每次加载和卸载操作后都没有句柄泄漏。
在 2-3 次加载卸载循环后,在一次加载期间,系统变得非常缓慢。我检查了应用程序的虚拟内存使用情况以及此时的句柄计数,它完全在限制范围内(VM 大约 460MB 也没有太多碎片,句柄计数 3200)。
我想知道应用程序如何使系统响应缓慢?我还可以使用哪些其他工具来调试此场景?
让我更具体地说,当我的意思是系统时,整个窗口都在变慢。任务管理器本身需要 2 分钟才能启动,并且通常需要硬重启
【问题讨论】:
-
让我更具体地说,当我的意思是系统时,整个窗口都在变慢。任务管理器本身需要 2 分钟才能启动,而且通常需要硬重启。
标签: windows performance debugging winapi profiling