Have issue with monitoring 32bit app pools running on 64bit IIS

I am performing a monitoring task on my 64bit web server which has couple of applications pools running in 32bit mode. I am using .Net CLR Memory object in perfmon to monitor them. However, my performance monitor shows 0 for everything except GC handles and # of sink blocks in use. The rest application pools are working fine. On another server configured in the same exact way (32bit app pools running on 64bit IIS), WMI doesn't even enumerate all of my w3wp instances.

Is there anybody have any thoughts on these issues? Or are there tools that can monitor the 32 bit application pool running on 64 bit platform instead of using the built-in Performance monitor?

In addition, on the server which WMI doesn't enumerate all the w3wp instances, we have the following three error messages in the event log.

  1. The configuration information of the performance library "C:\WINDOWS\system32\aspperf.dll" for the "ASP" service does not match the trusted performance library information stored in the registry. The functions in this library will not be treated as trusted. (Event ID 2003, Source Perflib)

  2. The configuration information of the performance library "C:\WINDOWS\system32\inetsrv\w3ctrs.dll" for the "W3SVC" service does not match the trusted performance library information stored in the registry. The functions in this library will not be treated as trusted.(Event ID 2003, Source Perflib)

  3. The configuration information of the performance library "C:\WINDOWS\system32\infoctrs.dll" for the "InetInfo" service does not match the trusted performance library information stored in the registry. The functions in this library will not be treated as trusted.(Event ID 2003, Source Perflib)

  4. Performance counter data collection from the "ASP.NET_2.0.50727" service has been disabled for this session due to one or more errors generated by the performance counter library for that service. The error(s) that forced this action have been written to the application event log.(Event ID 1018, Source Perflib)

These errors might related to my issue. It still appears even when I re-register all the .dll files in the wbem directory. Does anyone know what these error messages mean and how can I fix them?

In addition for the first server with 0 value in .Net CLR Memory object, there is no error message in the event log.


To fix the errors on the seconds machine, register the performance counters with Lodctr from a command prompt:

lodctr /T:W3SVC
lodctr /T:InetInfo
lodctr /T:ASP

as suggested in http://support.microsoft.com/kb/932813