最近在测试中发现一个问题,我们的32位程序的计数器在Windows 2003 X64系统中无法获取性能计数器的数值,这个给测试带来不少痛苦,没有这些数据是很难分析测试结果的,后来查了查发现了原因,原来是32的程序必须用32位的性能计数器来抓取结果。解决办法如下:
1. 如果是需要实时监控结果,那么很简单,在启动性能计数器程序的时候,不要用默认的快捷方式,而是打开C:/Windows/SysWOW64/perfmon.exe
2. 需要在后台把计数器的结果保存到日志文件中,这也是测试中最常见的用法,在注册表中做如下更改:
- 打开注册表编辑器
- 打开HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/SysmonLog
- 找到ImagePath,当前值为 %SystemRoot%/system32/smlogsvc.exe
- 修改为:%SystemRoot%/ SysWOW64/smlogsvc.exe
试试看,刚才无法记录的32位计数器现在应该可以工作了。
414



被折叠的 条评论
为什么被折叠?



