Uso de perfiles Xperf
En esta sección se muestra cómo capturar seguimientos mediante perfiles. Si está analizando la memoria, considere la posibilidad de escribir el seguimiento en un archivo, ya que ETW escribe a través de y no molesta la memoria caché. Si está analizando la E/S de disco, considere la posibilidad de guardar el seguimiento en un búfer circular en memoria. También hay otras consideraciones, como si necesita capturar un seguimiento largo, que no cabería en un búfer en la memoria, o si solo le importan los últimos 5-10 segundos del contenido de seguimiento.
Procedimiento
Seleccione un perfil como perf. FileIOProfiles.InBuffer y use un comando similar al ejemplo siguiente para mostrar información sobre él.
xperf -profiles perf!FileIOProfiles.InBuffer
Este comando enumera todos los perfiles, seguidos de las sesiones y los proveedores de ese perfil:
Perfil: FileIOProfiles.InBuffer
Sesiones: FileIOProfiles.InBuffer.Sessions
Sesión: FileIOProfiles.InBuffer.Sessions[0]. Kernel[0]
Sesión: FileIOProfiles.InBuffer.Sessions[0]. Usuario[0]
Proveedores: FileIOProfiles.InBuffer.Providers
Proveedor: FileIOProfiles.InBuffer.Providers[0]. Kernel[0]
Proveedor: FileIOProfiles.InBuffer.Providers[0]. Usuario[0]
Suponiendo que eligió usar un seguimiento basado en archivos, inicie un perfil de seguimiento inSequentialFile mediante el siguiente comando.
xperf -start perf!GeneralProfiles.InSequentialFile
Si se produce un problema, se notifica un error. Por ejemplo, al iniciar el mismo perfil dos veces se produciría un error que la sesión ya se está ejecutando.
Muestra qué registradores inSequentialFile ya se han iniciado para un perfil específico mediante el siguiente comando.
xperf -profileloggers perf!GeneralProfiles.InSequentialFile
La respuesta a este comando es similar al ejemplo siguiente.
Estado de sesión para "perf! GeneralProfiles.InSequentialFile":
"Registrador de kernel nt": en ejecución
PerfCoreUserSession_InSequentialFile : En ejecución
Detenga el perfil de seguimiento InSequentialFile , guarde los seguimientos y después los combine en un archivo de seguimiento, como Merged.etl, mediante el siguiente comando.
xperf -stop perf!GeneralProfiles.InSequentialFile merged.etl
Si se produce un problema, se notifica un error.
Inicie el perfil de seguimiento InSequentialFile , reemplazando, a la hora de inicio, los valores de MaxBuffers para todas las sesiones ETW, para las que se van a iniciar los registradores en 256. Para realizar esta acción, use el siguiente comando.
xperf -start perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
Si se produce un problema, se notifica un error.
Actualice los valores de MaxBuffers para los registradores ETW de InSequentialFile activos especificados en el perfil de seguimiento mediante el siguiente comando.
xperf -update perf!GeneralProfiles.InSequentialFile -MaxBuffers 256
No se muestra ninguna respuesta después de emitir este comando.