我们的一个传统应用程序之一是在1台特定机器上生成资源泄漏。随着时间的推移,整个处理器的使用量会增加,直到应用程序关闭并重新启从设备路径获取信息
使用perfmon
我发现进程的句柄计数和处理器使用率之间存在直接关系。这个数字上升到了数千,我使用SysInternal的handle
来公开所有额外的句柄(至少在今天下午当我运行handle
运行的过程中)具有\Device\00000066
的路径。
我想了解如何发现更多有关设备路径所指的设备的更多信息,因此我们知道该从何处进行操作。我强烈怀疑该设备是密码键盘(在借记交易期间使用),但需要证明。
Windows XP sp3。
分辨率 在塞瓦蒂托夫的建议帮助我确定它是USB设备后,我有一个主要嫌疑犯:一个钱箱。我们让客户端拔下并手动使用它几个小时:手柄没有不断增加。我查看了该项目的代码,开发人员在获取它们之后忽略了关闭设备的句柄。手柄的快速增加是由于计时器在打开抽屉后检查其状态,以确定用户何时关闭抽屉。
找到它是一个HID USB设备。这使它缩小了很多。 – 2011-04-21 05:45:17