Reglas de rendimiento por id.
Advertencia |
Descripción |
---|---|
Las llamadas a System.String.Concat constituyen una proporción considerable de los datos de generación de perfiles. Consider la opción de usar la clase StringBuilder para construir cadenas a partir de varios segmentos. |
|
El generador de perfiles no pudo encontrar VSPerfCorProf.dll durante la generación de perfiles. Esta advertencia aparece cuando las herramientas de línea de comandos para la recopilación de datos del generador de perfiles se emplean sin la herramienta VSPerfCLREnv.cmd para inicializar las variables de entorno necesarias. |
|
Una proporción considerable de los ejemplos de la pila de llamadas recopilados para la aplicación se estaba ejecutando en modo kernel. Puede generar perfiles en su aplicación mediante otro método de generación de perfiles. |
|
La utilización del procesador (CPU) fue considerablemente alta a la hora de generar perfiles de datos recopilados mediante el método de instrumentación. Puede utilizar el método de generación de perfiles mediante muestreo al generar perfiles de una aplicación enlazada con la CPU. |
|
Se está recuperando un gran número de objetos de memoria de .NET en la recolección de elementos no utilizados de la generación 2. |
|
Las llamadas al método Equals o a los operadores de igualdad de un tipo de valor público constituyen una proporción considerable de los datos de generación de perfiles. Puede implementar un método más eficaz. |
|
Se llamó a una alta tasa de controladores de excepciones de .NET Framework en los datos de generación de perfiles. Puede utilizar otra lógica de flujo de control para reducir el número de excepciones que se producen. |
|
La generación de perfiles recopiló pocos ejemplos. Para obtener resultados más significativos, puede emplear una ejecución más larga o una velocidad de muestreo más rápida. |
|
Un porcentaje significativo de tiempo de ejecución de la aplicación se gastó en el compilador Just In Time (JIT). |
|
Las llamadas al método GetHashCode del tipo constituyen una proporción considerable de los datos de generación de perfiles o el método asigna memoria. |
|
El método CompareTo del tipo consume muchos recursos o asigna memoria. |
|
Las llamadas a los métodos System.Reflection, como InvokeMember y GetMember, o a los métodos Type, como MemberInvoke, constituyen una proporción considerable de los datos de generación de perfiles. Puede sustituir estos métodos por un enlace en tiempo de compilación a los métodos de ensamblados dependientes. |
|
Las llamadas a los métodos System.String.Substring o System.String.Split constituyen una proporción considerable de los datos de generación de perfiles. Si está comprobando la existencia de una subcadena en una cadena, puede utilizar System.String.IndexOf o System.String.IndexOfAny. |
|
DA0014: Frecuencia extremadamente alta de paginación de memoria activa en el disco |
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que se produjo una tasa extremadamente alta de memoria paginada activa hacia y desde el disco. Las tasas de paginación en este nivel normalmente afectarán al rendimiento de la aplicación y su capacidad de respuesta. Puede reducir las asignaciones de memoria mediante la revisión de los algoritmos. Quizás tenga que considerar también los requisitos de memoria de la aplicación volviendo a generar los perfiles en un equipo con más memoria. |
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que se produjo una tasa alta de memoria paginada activa hacia y desde el disco. Las tasas de paginación en este nivel normalmente afectarán al rendimiento de la aplicación y su capacidad de respuesta. Puede reducir las asignaciones de memoria mediante la revisión de los algoritmos. Quizás tenga que considerar también los requisitos de memoria de la aplicación volviendo a generar los perfiles en un equipo con más memoria. |
|
DA0018: Una aplicación de 32 bits se está ejecutando en límites de memoria administrados del proceso |
Los datos del sistema recopilados durante la generación de perfiles indican que los montones de memoria de .NET Framework se aproximaron al tamaño máximo hasta el que los montones administrados pueden crecer en un proceso de 32 bits. El valor notificado es el valor máximo de los montones observado mientras el proceso para el que se estaban generando los perfiles estaba activo. Puede optimizar el uso de los recursos administrados por la aplicación. |
DA0021: Alta frecuencia de recolección de elementos no utilizados de gen 1 |
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que se recuperó una proporción considerable de la memoria de los objetos de .NET Framework en la recolección de elementos no utilizados de la generación 1 en comparación con la recolección de datos de la generación 0. |
DA0022: Alta frecuencia de recolección de elementos no utilizados de gen 2 |
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que se recuperó una proporción considerable de la memoria de los objetos de .NET Framework en la recolección de elementos no utilizados de la generación 2 en comparación con la recolección de elementos no utilizados de la generación 0 y la 1. |
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que la cantidad de tiempo dedicada a la recolección de elementos no utilizados es considerable en comparación con el tiempo de procesamiento total de la aplicación. |
|
Los datos de rendimiento del sistema recopilados durante la generación de perfiles indican que la cantidad de tiempo dedicada a la recolección de elementos no utilizados es excesivamente alta en comparación con el tiempo de procesamiento total de la aplicación. |
|
DA0026: Tiempo de procesamiento excesivo de la CPU de kernel |
El tiempo de CPU proporcional ejecutado en modo kernel superó la cantidad de tiempo en modo usuario. Puede volver a generar los perfiles y realizar un muestreo del número de llamadas al sistema (syscalls) para determinar la causa de los altos tiempos de ejecución en modo kernel. |
Está intentando generar perfiles de una aplicación que utiliza la versión 1.1 de .NET Framework, que no es compatible con las Herramientas de generación de perfiles. |
|
DA0030: Recopilar las medidas de interacción de capas para los proyectos de base de datos |
Las llamadas a los métodos System.Data constituyen una proporción considerable de los datos de generación de perfiles; además, no ha recopilado datos de interacción de capas en la generación de perfiles. Puede volver a generar los perfiles y agregar los datos de interacción de capas. |
Los datos de rendimiento del sistema recopilados con los datos de generación de perfiles indican que se produjo una tasa considerablemente alta de contenciones de bloqueo durante la ejecución de la aplicación. Puede volver a generar los perfiles mediante el método de generación de perfiles de simultaneidad para detectar la causa de las contenciones. |
|
Los datos de rendimiento del sistema recopilados con los datos de generación de perfiles indican que se produjo una tasa excesivamente alta de contenciones de bloqueo durante la ejecución de la aplicación. Puede volver a generar los perfiles mediante el método de generación de perfiles de simultaneidad para detectar la causa de la contención. |
|
DA0501: Promedio de consumo de CPU por parte del proceso que se va a perfilar. |
Este mensaje indica el porcentaje de tiempo que un procesador estuvo ocupado ejecutando instrucciones de la aplicación. El valor indicado es el promedio de todos los intervalos de medida en los que estaba activo el proceso para el que se generan perfiles. El valor puede ser superior al 100% en un equipo con más de un procesador. |
DA0502: Máximo consumo de CPU por parte del proceso que se va a perfilar |
Este mensaje indica el porcentaje de tiempo máximo que un procesador estuvo ocupado ejecutando instrucciones de la aplicación. El valor indicado es el valor máximo indicado de todos los intervalos de medida en los que estaba activo el proceso para el que se generan perfiles. El porcentaje puede ser superior al 100% en un equipo con más de un procesador. |
DA0503: Promedio de conjuntos de trabajo en bytes para el proceso que se va a perfilar |
Este mensaje indica la cantidad media de memoria física que el proceso está utilizando actualmente en bytes (el espacio de trabajo). El espacio de trabajo de un proceso representa las páginas del espacio de direcciones de proceso que residen actualmente en la memoria física. |
DA0504: Conjunto de trabajo máximo en bytes para el proceso que se va a perfilar |
Este mensaje indica la cantidad máxima de memoria física que el proceso está utilizando actualmente en bytes. El espacio de trabajo de un proceso representa las páginas del espacio de direcciones de proceso que residen actualmente en la memoria física. Esta regla indica el valor máximo del espacio de trabajo de un proceso mientras la generación de perfiles estaba activa. |
DA0505: Promedio de bytes privados asignados al proceso que se va a perfilar |
Este mensaje indica la cantidad media de memoria virtual que el proceso tiene asignada actualmente en bytes (bytes privados). Los bytes privados representan las ubicaciones de memoria virtual asignadas por el proceso a las que solo pueden tener acceso los subprocesos que se ejecutan dentro del proceso. |
DA0506: Máximo de bytes privados asignados al proceso que se va a perfilar |
Este mensaje indica la cantidad máxima de memoria virtual que el proceso tiene asignada actualmente en bytes (bytes privados). Los bytes privados representan las ubicaciones de memoria virtual asignadas por el proceso a las que solo pueden tener acceso los subprocesos que se ejecutan dentro del proceso. |