Я выполняю задачу мониторинга на своем 64-битном веб-сервере, на котором есть несколько пулов приложений, работающих в 32-битном режиме. Я использую объект памяти .Net CLR в perfmon для наблюдения за ними. Однако мой монитор производительности показывает 0 для всего, кроме дескрипторов сборщика мусора и количества используемых блоков-приемников. Остальные пулы приложений работают нормально. На другом сервере, настроенном точно так же (32-битные пулы приложений, работающие на 64-битных IIS), WMI даже не перечисляет все мои экземпляры w3wp.
Есть ли у кого-нибудь мысли по этим вопросам? Или есть инструменты, которые могут отслеживать пул 32-битных приложений, работающих на 64-битной платформе, вместо использования встроенного монитора производительности?
Кроме того, на сервере, на котором WMI не перечисляет все экземпляры w3wp, в журнале событий имеются следующие три сообщения об ошибках.
Информация о конфигурации библиотеки производительности «C: \ WINDOWS \ system32 \ aspperf.dll» для службы «ASP» не соответствует информации надежной библиотеки производительности, хранящейся в реестре. Функции в этой библиотеке не будут считаться доверенными. (Идентификатор события 2003, исходный файл Perflib)
Информация о конфигурации библиотеки производительности «C: \ WINDOWS \ system32 \ inetsrv \ w3ctrs.dll» для службы «W3SVC» не соответствует информации надежной библиотеки производительности, хранящейся в реестре. Функции в этой библиотеке не будут рассматриваться как доверенные (идентификатор события 2003, исходный Perflib).
Информация о конфигурации библиотеки производительности «C: \ WINDOWS \ system32 \ infoctrs.dll» для службы «InetInfo» не соответствует информации надежной библиотеки производительности, хранящейся в реестре. Функции в этой библиотеке не будут рассматриваться как доверенные (идентификатор события 2003, исходный Perflib).
Сбор данных счетчика производительности из службы «ASP.NET_2.0.50727» отключен для этого сеанса из-за одной или нескольких ошибок, созданных библиотекой счетчиков производительности для этой службы. Ошибки, вызвавшие это действие, были записаны в журнал событий приложения (идентификатор события 1018, исходный файл Perflib).
Эти ошибки могут быть связаны с моей проблемой. Он все еще появляется, даже когда я повторно регистрирую все файлы .dll в каталоге wbem. Кто-нибудь знает, что означают эти сообщения об ошибках и как их исправить?
Кроме того, для первого сервера со значением 0 в объекте памяти .Net CLR в журнале событий нет сообщения об ошибке.
Чтобы исправить ошибки на машине секунд, зарегистрируйте счетчики производительности с помощью Lodctr
из командной строки:
lodctr /T:W3SVC
lodctr /T:InetInfo
lodctr /T:ASP
как предложено в http://support.microsoft.com/kb/932813