Cómo solucionar problemas de supervisión y los problemas de registro de contadores de rendimiento en .NET Framework 2.0

Seleccione idioma Seleccione idioma
Id. de artículo: 922775 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

en este artículo se describe cómo utilizar common language runtime (CLR) contadores y cómo resolver problemas conocidos que se producen cuando utiliza contadores de rendimiento de Microsoft .NET Framework 2.0. Para supervisar los contadores de rendimiento en un equipo remoto, debe ser un administrador en el equipo remoto. Si el equipo remoto está ejecutando Microsoft Windows Server 2003, debe en el grupo usuarios de registro de rendimiento (PLU) o en el grupo usuarios de Monitor de rendimiento (PMU). Para registrar contadores de rendimiento de CLR, configurar el usuario ejecute como un usuario que tenga permisos administrativos. Este artículo describen problemas relacionados con supervisión o sesión de contadores de rendimiento de CLR en equipos remotos.

INTRODUCCIÓN

El CLR proporciona código administrado junto con servicios como la siguiente:
  • Integración entre lenguajes
  • Seguridad de acceso a código
  • Administración de la duración de objetos
  • Administración de recursos
  • Seguridad de tipos
  • Subprocesamiento anticipada
  • Servicios de metadatos (reflejo de tipo)
  • Depuración y compatibilidad con generación de perfiles
El CLR tiene contadores de rendimiento que puede utilizar para realizar un seguimiento la funcionalidad de una aplicación. Puede utilizar a Monitor de rendimiento (Perfmon) para crear contadores de rendimiento personalizados. Puede supervisar el rendimiento del sistema revisando los valores que devuelven los contadores de rendimiento.

Más información

Los siguientes problemas conocidos pueden producirse cuando utiliza contadores de rendimiento de CLR de .NET Framework 2.0.

Remotamente no es posible supervisar los contadores de rendimiento de CLR

Cuando intenta supervisar los contadores de rendimiento CLR en un equipo remoto en PerfMon, recibirá un mensaje de error similar al siguiente:
No se puede conectar al equipo
Para resolver este problema, utilice uno de los métodos siguientes.

Método 1: Comprobar que el servicio Registro remoto se está ejecutando en el equipo remoto

Cuando se produce este problema, compruebe que el servicio Registro remoto se está ejecutando en el equipo remoto. Para ello, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba cmd y, a continuación, haga clic en Aceptar .
  2. En el símbolo del sistema, escriba tasklist - svc , y, a continuación, presione ENTRAR.

    Comprobar que un proceso de host Svchost.exe en ejecución que tiene RemoteRegistry en la columna de servicios . Si no se está ejecutando el servicio, vaya al paso 3.
  3. En el símbolo del sistema, escriba net start RemoteRegistry y, a continuación, presione ENTRAR.

Método 2: Compruebe que tiene los permisos necesarios

Para supervisar los contadores de rendimiento de CLR en un equipo remoto, deben cumplirse las condiciones siguientes:
  • Debe ser un miembro del grupo Administradores en el equipo remoto.
  • Si el equipo remoto está ejecutando Windows Server 2003, debe ser miembro del grupo usuarios del Monitor de rendimiento para supervisar los contadores de rendimiento.
  • Si el equipo remoto está ejecutando Windows Server 2003, debe ser miembro del grupo usuarios del registro de rendimiento para registrar los contadores de rendimiento. Además, debe utilizar el comando Ejecutar como para configurar el proceso de registro para ejecutar en el grupo de administradores o bajo del grupo usuarios del registro de rendimiento.

Aunque puede conectar con el equipo remoto no puede ver los contadores de rendimiento de CLR

Si el equipo remoto basado en Windows Server 2003 se está ejecutando Microsoft .NET Framework 1.1 Service Pack 1 (SP1), aplicar la revisión descrita en el siguiente artículo de Microsoft Knowledge Base:
924421REVISIÓN: Se deteriora el rendimiento de aplicación o el equipo deja de responder cuando ejecuta una aplicación basada en .NET Framework 1.1 Service Pack 1 en un equipo basado en Windows 2003

Recibe un mensaje de error "ACCESS_DENIED" cuando intenta iniciar el registro de contadores de rendimiento de CLR

Cuando intenta iniciar el registro de contadores de rendimiento de CLR, puede recibir un mensaje de error similar al siguiente:
Código de error 5 (ACCESS_DENIED)
No se puede abrir clave de registro de versión de corrección base de datos - v2.0.50727.00000. El procedimiento abierto para el servicio ".NETFramework" en DLL "D:\WINNT\system32\mscoree.dll" ha fallado. Los datos de rendimiento para este servicio no están disponibles. El código de estado devuelto es el primer valor de DWORD en los datos adjuntos. El código de estado es 5 (ACCESS_DENIED)
Este problema se produce porque el primer proceso para cargar el archivo DLL (Corperfmonext.dll) del contador de rendimiento de CLR crea un evento con nombre para la comunicación de comunicación entre procesos (IPC). Se crea un evento con nombre que utiliza los permisos para el identificador de usuario del proceso.

Por ejemplo, un usuario que tenga permisos administrativos inicia Perfmon. A continuación, el usuario comienza a supervisar los contadores de rendimiento de CLR. El evento con nombre se crea mediante permisos que se conceden al grupo Administradores. En este escenario, el usuario recibe la mensaje de error si el usuario intenta iniciar el registro de contadores de rendimiento de CLR. Este problema se produce porque el servicio "Registros y alertas de rendimiento" no puede obtener acceso a evento con nombre.

Para evitar este problema, cargue el archivo de Corperfmonext.dll en el servicio "Registros y alertas de rendimiento" primero. Para ello, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba cmd y, a continuación, haga clic en Aceptar .
  2. En el símbolo del sistema, escriba tasklist -m corperfmonext.dll y, a continuación, presione ENTRAR. Tenga en cuenta cada proceso que aparece.
  3. En el símbolo del sistema, escriba taskmgr y, a continuación, presione ENTRAR.
  4. En la ficha procesos , haga clic en cada proceso que anotó en el paso 2 y, a continuación, haga clic en Finalizar proceso .
  5. Haga clic en Inicio , haga clic en Ejecutar , escriba Perfmon y, a continuación, haga clic en Aceptar .
  6. Expanda registros y alertas de rendimiento y, a continuación, haga clic en Registros de contador .
  7. Haga clic con el botón secundario en el servicio que desea utilizar y, a continuación, haga clic en Inicio .
Nota Está previsto que este problema se resuelva en una versión futura de .NET Framework.

No puede supervisar programas administrados de 32 bits en la versión de 64 bits de Perfmon

Este problema se produce porque la versión de 64 bits del archivo Corperfmonext.dll sólo enumera los procesos de 64 bits. Además, la versión de 32 bits del archivo Corperfmonext.dll sólo enumera los procesos de 32 bits. Para ver programas de 32 bits administrados en un equipo de 64 bits, haga clic en Inicio , haga clic en Ejecutar , escriba SystemRoot%\SysWOW64\perfmon.exe y, a continuación, haga clic en Aceptar .

Nota Está previsto que este problema se resuelva en una versión futura de .NET Framework.

PerfMon no se detecta cuando se reinicia un programa administrado en el equipo remoto

Este problema se produce porque el servicio Registro remoto se ejecuta bajo la cuenta servicio local. La cuenta de servicio local no es un miembro del grupo Usuarios del Monitor de rendimiento o del grupo Usuarios del registro de rendimiento . Por lo tanto, la cuenta servicio local no tiene acceso al bloque IPC de contador de rendimiento de CLR. No obstante, puede supervisar contadores de rendimiento de CLR porque el servicio Registro remoto suplanta al usuario que inició la supervisión.

Sin embargo, si el proceso supervisado se reinicia, se abre un nuevo bloque IPC por un subproceso auxiliar en el servicio Registro remoto. Este subproceso auxiliar no suplanta al usuario en el cliente. Por tanto, el subproceso no puede tener acceso al bloque IPC de contador de rendimiento de CLR. Para evitar este problema, reinicie la supervisión de contador de rendimiento desde el cliente.

Aparecen varios contadores de rendimiento de CLR que tienen nombres similares a "W3wp # 1"

Cuando se ejecutan varios procesos de los trabajadores ASP.NET, contadores de rendimiento CLR que tienen nombres similares a "W3wp # 1"o"W3sp # 2" es posible que aparezca. En .NET Framework 2.0, un contador que se denomina Identificador de proceso se agregó al objeto de rendimiento memoria de .NET CLR. Este contador muestra el identificador de proceso para una instancia. Puede utilizar este contador para determinar el contador de rendimiento de CLR que está asociado con un proceso.

Si no ve un contador que se denomina Identificador de proceso en Memoria de .NET CLR , los símbolos de contador de rendimiento pueden no instalarse correctamente. Para resolver este problema, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba cmd y, a continuación, haga clic en Aceptar .
  2. En el símbolo del sistema, escriba unlodctr .NetFramework y, a continuación, presione ENTRAR.
  3. Utilice el comando cd para cambiar a la carpeta \Microsoft.Net\Framework\v2.0.50727.
  4. En el símbolo del sistema, escriba corperfmonsymbols.ini lodctr y, a continuación, presione ENTRAR.

Propiedades

Id. de artículo: 922775 - Última revisión: martes, 14 de agosto de 2007 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft .NET Framework 2.0
Palabras clave: 
kbmt kbregistry kbperformancetool kbperfmon kbmsg kbinput kbfaq kbtshoot kbprb KB922775 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 922775

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com