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

Resumen

Este artículo describe cómo utilizar contadores de rendimiento de common language runtime (CLR) y cómo resolver los problemas conocidos que se producen cuando usa contadores de rendimiento en el Microsoft.NET Framework 2.0. Para supervisar 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 estar en el grupo de usuarios de registro de rendimiento (PR) o en el grupo de usuarios de Monitor de rendimiento (PMU). Para registrar los contadores de rendimiento de CLR, configurar el usuario para que se ejecute como un usuario que tenga permisos administrativos. Este artículo describen problemas relacionados con supervisión o registro de contadores de rendimiento de CLR en equipos remotos.

INTRODUCCIÓN

El CLR proporciona código administrado con servicios como los siguientes:
  • Integración entre lenguajes
  • Seguridad de acceso del código
  • Administración de la duración de objeto
  • Administración de recursos
  • Tipo de seguridad
  • Threading preventivo
  • Servicios de metadatos (tipo reflexión)
  • Depurar y generar perfiles de soporte


El CLR tiene contadores de rendimiento que puede utilizar para realizar un seguimiento de la funcionalidad de una aplicación. Puede utilizar al Monitor de rendimiento (Perfmon) para crear contadores de rendimiento personalizados. Puede supervisar el rendimiento del sistema mediante la revisión de los valores que devuelven los contadores de rendimiento.

Más información

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

No se puede supervisar de forma remota 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: Compruebe 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 -svcy, a continuación, presione ENTRAR.

    Compruebe que está ejecutando un proceso host Svchost.exe 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 RemoteRegistryy, a continuación, presione ENTRAR.

Método 2: Compruebe que tiene los permisos necesarios

Para supervisar contadores de rendimiento de CLR en un equipo remoto, deben cumplirse las siguientes condiciones:
  • Debe ser 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 que se ejecute en virtud del grupo Administradores o del grupo usuarios del registro de rendimiento.

No puede ver los contadores de rendimiento de CLR a pesar de que puede conectarse al equipo remoto

Si el equipo remoto basado en Windows Server 2003 está ejecutando el Service Pack 1 (SP1) de Microsoft.NET Framework 1.1, aplique la revisión que se describe en el siguiente artículo de Microsoft Knowledge Base:
CORREGIR 924421 : aplicación se deteriora el rendimiento 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 la clave de registro de versión de base de datos de corrección - v2.0.50727.00000. El procedimiento abierto para el servicio ". Error de NETFramework"en la DLL"D:\WINNT\system32\mscoree.dll". Datos de rendimiento para este servicio no estará 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 contador de rendimiento de CLR DLL (Corperfmonext.dll) 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 ID 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 con los permisos que se conceden al grupo de administradores. En este escenario, el usuario recibe el mensaje de error si el usuario intenta iniciar el registro de contadores de rendimiento de CLR. Este problema se produce porque el servicio de "Registros y alertas de rendimiento" no puede obtener acceso al evento con nombre.

Para evitar este problema, cargue el archivo Corperfmonext.dll en el servicio de "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.dlly, a continuación, presione ENTRAR. Tenga en cuenta cada proceso que se muestra.
  3. En el símbolo del sistema, escriba taskmgry, 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 Perfmony, a continuación, haga clic en Aceptar.
  6. Expanda registros y alertasy, a continuación, haga clic en Registros de contador.
  7. (Ratón) en el servicio que desea utilizar y, a continuación, haga clic en Inicio.
Nota: Está previsto este problema se corregirá en una versión futura de la de.NET Framework.

No puede supervisar programas administrados de 32 bits en la versión de 64 bits del Monitor de rendimiento

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 los programas administrados de 32 bits en un equipo de 64 bits, haga clic en Inicio, haga clic en Ejecutar, escriba SystemRoot%\SysWOW64\perfmon.exey, a continuación, haga clic en Aceptar.

Nota: Está previsto este problema se corregirá en una versión futura de la de.NET Framework.

Monitor de rendimiento 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 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 para el 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 ha iniciado la supervisión.

Sin embargo, si se reinicia el proceso supervisado, se abre un nuevo bloque IPC por un subproceso auxiliar en el servicio de registro remoto. Este subproceso auxiliar no suplantar al usuario en el cliente. Por lo tanto, el subproceso no tiene acceso el 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 de CLR que tienen nombres similares a "W3wp #1" o "W3sp #2" puede aparecer. En.NET Framework 2.0, se agregó un contador que se denomina Identificador de proceso al objeto de rendimiento memoria de .NET CLR. Este contador muestra el ID de proceso de una instancia. Puede utilizar este contador para determinar el contador de rendimiento de CLR que está asociado a un proceso.

Si no ve un contador que se denomina Identificador de proceso en Memoria de .NET CLR, los símbolos del 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 lodctr corperfmonsymbols.iniy, a continuación, presione ENTRAR.
Propiedades

Id. de artículo: 922775 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios