我在64位Web服务器上执行一个监视任务,该服务器有32位模式的应用程序池。 我正在使用perfmon中的.Net CLR Memory对象来监视它们。 但是,除了GC句柄和正在使用的接收块数量之外,我的性能监视器显示为0。 其余的应用程序池工作正常。 在另一台configuration相同的服务器(在64位IIS上运行的32位应用程序池)上,WMI甚至不会枚举所有的w3wp实例。
有没有人对这些问题有任何想法? 还是有工具,可以监视在64位平台上运行的32位应用程序池,而不是使用内置的性能监视器?
另外,在WMI不枚举所有w3wp实例的服务器上,我们在事件日志中有以下三条错误消息。
“ASP”服务的性能库“C:\ WINDOWS \ system32 \ aspperf.dll”的configuration信息与存储在registry中的可信性能库信息不匹配。 这个库中的函数不会被视为可信。 (事件ID 2003,来源Perflib)
“W3SVC”服务的性能库“C:\ WINDOWS \ system32 \ inetsrv \ w3ctrs.dll”的configuration信息与存储在registry中的可信性能库信息不匹配。 这个库中的函数不会被视为可信(Event ID 2003,Source Perflib)
“InetInfo”服务的性能库“C:\ WINDOWS \ system32 \ infoctrs.dll”的configuration信息与存储在registry中的受信任的性能库信息不匹配。 这个库中的函数不会被视为可信(Event ID 2003,Source Perflib)
由于该服务的性能计数器库生成一个或多个错误,因此已禁用来自“ASP.NET_2.0.50727”服务的性能计数器数据收集。 强制执行此操作的错误已写入应用程序事件日志(事件ID 1018,源Perflib)
这些错误可能与我的问题有关。 即使重新注册wbem目录中的所有.dll文件,它仍然会出现。 有谁知道这些错误消息是什么意思,我该如何解决它们?
另外,对于.Net CLR Memory对象中值为0的第一台服务器,事件日志中没有错误消息。
要修复秒计算机上的错误, Lodctr从命令提示符处使用Lodctr注册性能计数器:
lodctr /T:W3SVC lodctr /T:InetInfo lodctr /T:ASP