Evaluación de los datos de bloqueo por subproceso
El informe de bloqueo por subproceso presenta la siguiente información sobre los bloqueos por subprocesos:
- Adquisición de la frecuencia de muestreo
- Frecuencia de muestreo de contención
- Umbral de número
- Número de CPU
- Velocidad de CPU, en megahercios
- Longitud del seguimiento, en nanosegundos
- Longitud del seguimiento, en ciclos
Secciones del informe de bloqueo por subproceso
En las secciones siguientes del informe se muestra el uso del bloqueo por subproceso durante el período de tiempo del perfil.
Interbloqueos individuales
Cada bloqueo por subproceso se muestra por separado. Los bloqueos por subproceso se ordenan con los bloqueos por subprocesos "más activos" que se muestran primero. A menudo es posible identificar el cuello de botella de bloqueo por subproceso examinando los primeros interbloqueos.
Se presenta la siguiente información para cada bloqueo por subproceso:
- Tipo de bloqueo
- Dirección del kernel del bloqueo
- Símbolo del bloqueo (tenga en cuenta que los bloqueos por subprocesos creados dinámicamente no tienen símbolos)
Sección de informe de resumen
A continuación se muestra un informe de resumen con la siguiente información:
- Porcentaje de tiempo de CPU invertido en la adquisición de bloqueos
- Porcentaje de tiempo de CPU invertido en la contención de bloqueo
- Tasa de adquisición de bloqueos
- Tasa de colisión
- Velocidad de número
- Tasa de contención, tanto muestreada como normalizada
Las dos secciones finales del informe son los eventos omitidos debido a interrupciones y a la función release.
Eventos omitidos debido a interrupciones
Las interrupciones pueden producirse mientras se mantienen los bloqueos por subprocesos. Cuando esto ocurre, el tiempo de control de interrupciones se incluye en el tiempo de retención del bloqueo por subproceso y el tiempo de retención del bloqueo por subproceso aparece de forma normalmente larga. Xperf no incluye eventos de bloqueo por subproceso que se mantienen mientras se controla una interrupción al calcular los tiempos de retención del bloqueo por subproceso. La Events skipped due to interrupts
línea muestra el número de eventos que no se incluyeron en el cálculo. Este número suele ser muy pequeño.
Funciones de versión
Se puede adquirir o liberar un bloqueo por subproceso de diferentes rutas de acceso de código. Se muestra una lista de las funciones de versión del bloqueo por subproceso al final del informe. La lista se ordena por tiempo de retención de bloqueo por subproceso. También se presenta información adicional sobre una función de versión determinada, como la adquisición o la contención.
Ejemplo
En el ejemplo siguiente se muestra cómo obtener un resumen de los datos de bloqueo por subproceso.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary
En el ejemplo siguiente se muestra cómo limitar el número de registros devueltos a los cinco bloqueos por subprocesos más activos.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5