Share via


Control de nombres de instancia duplicados

Aunque se recomienda encarecidamente a los proveedores que usen nombres de instancia únicos, no todos lo hacen. La convención para mostrar nombres de instancia duplicados es anexar un carácter # y un número de serie al nombre de instancia, excepto la primera vez que aparece el nombre. Por ejemplo, si hay tres instancias de svchost en una muestra, los tres nombres se muestran como svchost, svchost#1 y svchost#2.

Lamentablemente, esta convención no resuelve completamente el problema. Los números de serie se asignan en función del orden en el que aparece un nombre de instancia determinado en una muestra, y ese orden puede ser incoherente de una muestra a otra. Por ejemplo, en la muestra A pueden aparecer svchost (PID 100), svchost#1 (PID 200) y svchost#2 (PID 300). Después, si se apaga el svchost con el PID 100, en la siguiente muestra aparecerían svchost (PID 200) y svchost#1 (PID 300). La lógica de coincidencia básica intentaría establecer una correspondencia entre las estadísticas de svchost#1 de la muestra A (del PID 200) y las estadísticas de svchost#1 de la muestra B (del PID 300), lo que daría lugar a resultados no válidos para la muestra B. Se producen errores cuando aparece una instancia nueva no única en una muestra o cuando deja de aparecer una instancia no única en una muestra (a menos que la instancia agregada o eliminada fuese la última).

Conjunto de contadores de procesos

Este problema es especialmente complejo para el conjunto de contadores Process, porque solo utiliza el nombre EXE del proceso como nombre de instancia aunque no sea único. El comportamiento predeterminado del conjunto de contadores Process no se puede cambiar en Windows debido a problemas de compatibilidad.

Sugerencia

Windows 11 y versiones posteriores incluyen el nuevo conjunto de contadores Process V2. El conjunto de contadores Process V2 incluye el identificador de proceso (PID) en el nombre de instancia, lo que evita el problema de duplicación de nombres del conjunto de contadores Process.

Puede modificar el comportamiento de los conjuntos de contadores Process y Thread para usar nombres de instancia únicos estableciendo los valores del Registro ProcessNameFormat o ThreadNameFormat en la clave del Registro HKLM\System\CurrentControlSet\Services\Perfproc\Performance.

Precaución

Habilitar nombres de instancia únicos para el conjunto de contadores Process puede hacer que algunos programas se comporten incorrectamente, ya que muchos programas esperan el patrón de nomenclatura no único. Por ejemplo, un programa que busca una instancia con un nombre EXE conocido específico no podrá encontrar esa instancia después de habilitar los nombres de instancia únicos.

El tipo de registro de estos valores es REG_DWORD. Al establecer el valor en 2, se anexa el identificador de proceso (PID) al nombre de la instancia del proceso y el identificador de subproceso (TID) al nombre de la instancia del subproceso. Para deshabilitar esta característica, establezca el valor en 1 o elimine el valor.