64位系统中32位程序性能计数器无法工作的问题

32位程序在64位Windows的性能计数器问题及解决方案
在Windows 2003 X64系统中,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位计数器能够记录数据。

最近在测试中发现一个问题,我们的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位计数器现在应该可以工作了。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值