Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo ayuda a solucionar problemas con Monitor de rendimiento.
¿Qué es Monitor de rendimiento (perfmon)?
Después de haber estado disponible en varias iteraciones desde los primeros días de Windows, Monitor de rendimiento es un complemento MMC en Windows que ayuda a supervisar el uso del sistema y varias métricas de rendimiento. La vista predeterminada al abrir muestra algunas áreas diferentes y métricas en tiempo real, entre las que se incluyen:
- Monitor de rendimiento: visualización en tiempo real de las métricas
- Conjuntos de recopiladores de datos: recopilación de datos definida dentro de un intervalo de tiempo determinado
- Informes: los datos recopilados en los conjuntos de recopiladores de datos
Preguntas antes de la recopilación de datos
Una vez que encuentre problemas, obtenga más información sobre lo que ha ocurrido antes de cualquier solución de problemas y recopilación de datos.
- ¿Qué tipo de problema?
- ¿Se puede reproducir este problema?
- ¿El problema se produce esporádicamente? Si es así, ¿qué acciones realizó el usuario?
- ¿Hay un patrón observado? Si es así, ¿qué tipo de patrón?
- ¿Solo sucede una vez y no se vuelve a producir?
Por ejemplo, se produce un problema de uso elevado de cpu esporádicamente. A veces, este problema se produce cinco minutos después de que se inicie el sistema, a veces después de dos horas, etc. No se observa ningún patrón. Al buscar el Administrador de tareas u otras herramientas de supervisión, no puede observarlo o no está seguro de si la salida de las herramientas de supervisión muestra lo que sucede.
En esta situación, necesita información general sobre los recursos del sistema. Esto se puede lograr con una Monitor de rendimiento de larga duración.
Nota
Monitor de rendimiento no tiene acceso al kernel y no registra dicha información. Además, Monitor de rendimiento es ligero en comparación con otras herramientas de registro para problemas de uso elevado de la CPU y es una herramienta integrada. Puede ejecutar Monitor de rendimiento local o remotamente.
Ejecutar Monitor de rendimiento localmente
Puede agregar contadores según sea necesario. Abra un símbolo del sistema con privilegios elevados y ejecute los siguientes comandos:
Cree un conjunto de recopiladores de datos:
Logman.exe create counter CORE_%computername% -f bin -v mmddhhmm -max 2048 -c "\Memory\*" "\Cache\*" "\Objects\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Processor(*)\*" "\Processor Information(*)\*" "\Process(*)\*" "\Server\*" "\System\*" "\Server Work Queues(*)\*" "\Terminal Services\*" "\Terminal Services Session(*)\*" -si 00:00:01
Nota
-max 2048
significa que el tamaño máximo del archivo de registro es de 2 GB.-si 00:00:01
significa que el intervalo es1
segundo. Puede cambiar esta configuración en función de sus necesidades.Inicie el conjunto de recopiladores de datos:
logman start CORE_%computername%
Detenga el seguimiento que se almacenará en c:\perflogs\Admin:
logman stop CORE_%computername%
Ejecutar Monitor de rendimiento de forma remota
Para configurar Monitor de rendimiento para supervisar el sistema remoto, abra un símbolo del sistema con privilegios elevados y ejecute los siguientes comandos:
Cree un conjunto de recopiladores de datos:
Logman create counter <LOGNAME> -u <DOMAIN\USERNAME> * -f bincirc -v mmddhhmm -max 500 -c "\\<SERVERNAME>\LogicalDisk(*)\*" "\\<SERVERNAME>\Memory\*" "\\<SERVERNAME>\Network Interface(*)\*" "\\<SERVERNAME>\Paging File(*)\*" "\\<SERVERNAME>\PhysicalDisk(*)\*" "\\<SERVERNAME>\Process(*)\*" "\\<SERVERNAME>\Redirector\*" "\\<SERVERNAME>\Server\*" "\\<SERVERNAME>\System\*" "\\<SERVERNAME>\Terminal Services\*" "\\<SERVERNAME>\Processor(*)\*" "\\<SERVERNAME>\Cache\*" -si 00:00:02
Nota
Reemplace <DOMAIN\USERNAME> por las credenciales de usuario correspondientes y <SERVERNAME> por el nombre del servidor problemático.
Ejecute el comando siguiente para iniciar el recopilador de datos:
logman start <LOGNAME>
Una vez que el servidor deja de responder, detenga el recopilador de datos ejecutando el siguiente comando:
logman stop <LOGNAME>
El registro de Monitor de rendimiento se ubicará en la carpeta C:\PERFLOGS. A continuación, comprima el .blg
archivo y cárguelo en el área de trabajo después de que se produzca el problema.
Después de ejecutar Monitor de rendimiento durante uno o dos días laborables, puede analizar el registro para ver si existen patrones. ¿Qué procesos aumenta la CPU? ¿Y los procesos son los mismos o diferentes cada día o hora?
En función de los hallazgos, vaya más adelante a los pasos siguientes para obtener más información sobre lo que les hace aumentar la CPU. Identifique la causa principal mediante el seguimiento de la secuencia de procesos, subprocesos, módulos y funciones.
Ejemplos de solución de problemas
Consulte los ejemplos siguientes de uso de TroubleShootingScript (TSS) para recopilar datos y CpuStres para simular la actividad de CPU.
Uso de TSS
TSS puede obtener un seguimiento elevado de uso de CPU cuando la CPU alcanza un umbral determinado:
Descargue TSS y extráigalo en la carpeta C:\tss del equipo afectado.
Desde un símbolo del sistema de PowerShell con privilegios elevados, ejecute el siguiente cmdlet desde la carpeta C:\tss .
.\TSS.ps1 -perfmon general -WaitEvent HighCPU:90 -StopWaitTimeInSec 100
Nota
Espere a que se produzca el problema de uso elevado de la CPU. Una vez que el uso de cpu supera <cpuThreshold>%, mantenga la recopilación de datos durante una duración de
StopWaitTimeInSec
settconds (el valor predeterminado es 60).Estos son otros ejemplos:
-
.\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -WaitEvent HighCPU:90
PerfMon
representa Monitor de rendimiento con un intervalo corto. -
.\TSS.ps1 -PerfMonLong SMB -PerfLongIntervalMin 11 -WaitEvent HighCPU:90
PerfMonLong
representa Monitor de rendimiento con un intervalo largo.
-
Desde un nuevo símbolo del sistema de PowerShell con privilegios elevados, ejecute el siguiente cmdlet desde la carpeta C:\tss .
.\TSS.ps1 -Stop
Nota
Si el seguimiento no se detiene después de cinco minutos, deténgalo.
TSS admite monitores de rendimiento. Para ver nombres detallados de contadores de rendimiento, ejecute el .\TSS.ps1 -ListSupportedPerfCounter
cmdlet .
Inicie la captura de contadores de rendimiento con el conjunto de General
contadores mediante la ejecución del cmdlet :
.\TSS.ps1 -PerfMon General
Si desea cambiar el intervalo del registro de rendimiento, use -PerfIntervalSec
(la unidad es segunda) o -PerfIntervalMin
(la unidad es minuto). Por ejemplo, .\TSS.ps1 -PerfMon General -PerfIntervalSec 1
especifica un intervalo de un segundo.
Estos son más ejemplos del .\TSS.ps1 -PerfMon <CounterSetName>
cmdlet:
Inicie Monitor de rendimiento con contadores generales (CPU, memoria, disco, etc.) y un intervalo de 5 segundos:
.\TSS.ps1 -PerfMon General -PerfIntervalSec 5
Inicie Monitor de rendimiento (
Long
) con contadores SMB (contadores SMB y contadores generales) y un intervalo de 11 minutos:.\TSS.ps1 PerfMonLong SMB -PerfLongIntervalMin 11
También puede hacerlo con Monitor de rendimiento para iniciar el seguimiento cuando el uso de la CPU alcanza una determinada cantidad, pero es complicado y lento.
Uso de CpuStres
Puede usar CpuStres para simular una actividad de uso elevado de la CPU mediante la ejecución de varios subprocesos. Después de realizar el seguimiento del problema de uso elevado de cpu durante seis minutos, Monitor de rendimiento muestra brechas en el gráfico siguiente, que es un problema:
Procesador | Mínima | Máxima | Media |
---|---|---|---|
Tiempo de procesador (%) | 4.688% | 100 % | 81.605% |
Al agregar contadores para Procesador: %ProcessorTime y examinar las instancias, verá que CPUStres64.exe tiene el consumo más alto. Hay instancias en las que %Tiempo de procesador superó el 100 %, alcanzando aproximadamente el 180 % en los datos, lo que indica picos significativos.
Tiempo de procesador (%) | Mínima | Máxima | Media |
---|---|---|---|
CPUSTRES64 | 0 % | 180.309% | 19.787% |
Compruebe la longitud de la cola del procesador, el promedio de los cuales es > 10. Se trata de un problema. Explore en profundidad quién usa el porcentaje de tiempo de procesador.
Se trata de una limitación de Monitor de rendimiento. Solo puede mostrar tantos datos.
Contadores de rendimiento para el uso de CPU
Para ver problemas de uso elevado de la CPU, compruebe primero el uso de CPU en el Administrador de tareas. Si el uso de la CPU supera continuamente el 85 %, indica que el sistema se enfrenta a un cuello de botella de CPU. Esta es la lista de contadores que deben comprobarse:
- Procesador: % de tiempo de procesador
- Procesador: % de tiempo de usuario
- Procesador: % de tiempo de privilegios
- Procesador: % de tiempo de interrupción
- Sistema: longitud de cola del procesador
- Sistema: llamadas por segundo
- Sistema: Modificadores de contexto/s
- Proceso: recuento de subprocesos
- Proceso: recuento de identificadores
Examine los siguientes contadores que se supervisan para conocer distintos aspectos de rendimiento:
Componente | Aspecto de rendimiento que se está supervisando | Contadores que se deben supervisar |
---|---|---|
Procesador | Uso | Procesador: % de tiempo de procesador (todas las instancias) Procesador: % de tiempo de DPC Procesador: % de tiempo de interrupción Procesador: % de tiempo con privilegios Procesador: % de tiempo de usuario |
Procesador | Cuellos de botella | Procesador: % de tiempo de procesador (todas las instancias) Procesador: % de tiempo de DPC Procesador: % de tiempo de interrupción Procesador: % de tiempo con privilegios Procesador: % de tiempo de usuario Procesador: interrupciones/s Procesador: DPCs en cola/s Sistema: modificadores de contexto/s Sistema: Llamadas del sistema/seg. Sistema: longitud de cola del procesador (todas las instancias) |
Nombre del contador | Métrica |
---|---|
Longitud de cola del procesador (PQL) | Si hay dos o más instancias por procesador y el uso de la CPU es alto, compruebe los procesos para un consumo elevado de CPU. Además, active Modificadores de contexto, % de tiempo de DPC y % de tiempo de interrupción. |
% de tiempo de procesador | 0-50%: correcto. 50-80%: monitor o monitor de advertencia. 80-100%: crítico. El sistema puede funcionar lentamente. |
% de tiempo de DPC | % de tiempo> de procesador 85 % y % de tiempo> DPC 15 %: investigue si están constantemente por encima de estos niveles. Los picos cortos están bien. Por ejemplo, solo en un procesador con un tiempo de procesador del 100 % y más del 50 % de tiempo DPC. |
% de tiempo de interrupción | Tiempo elevado de interrupción de CPU: más del 30 % de tiempo de interrupción. Una gran cantidad de % de tiempo de interrupción en el procesador puede indicar un problema de hardware o controlador. Tiempo de interrupción de CPU muy alto: más del 50 % de tiempo de interrupción. Una cantidad muy alta de % de tiempo de interrupción en el procesador podría indicar un problema de hardware o controlador. |
Referencias
- Monitor de rendimiento de Windows
- LOGMAN (perfmon)
- Cómo: Usar Monitor de rendimiento para recopilar datos de seguimiento de eventos
- Uso del procesador en modo de usuario frente al modo con privilegios
Declinación de responsabilidades de soluciones e información de terceros
La información y la solución de este documento representan la vista actual de Microsoft Corporation sobre estos problemas a partir de la fecha de publicación. Esta solución está disponible a través de Microsoft o a través de un proveedor de terceros. Microsoft no recomienda específicamente ningún proveedor de terceros o solución de terceros que pueda describir este artículo. También puede haber otros proveedores de terceros o soluciones de terceros que este artículo no describa. Dado que Microsoft debe responder a las condiciones de mercado cambiantes, Microsoft no debe interpretar esta información como un compromiso. Microsoft no puede garantizar ni aprobar la precisión de ninguna información o de ninguna solución presentada por Microsoft o por cualquier proveedor de terceros mencionado.
Microsoft no ofrece ninguna garantía y excluye todas las representaciones, garantías y condiciones, ya sean expresas, implícitas o legales. Estas condiciones incluyen, entre otras, representaciones, garantías o condiciones de título, no infracción, condición satisfactoria, comerciabilidad y idoneidad para un propósito determinado, con respecto a cualquier servicio, solución, producto o cualquier otro material o información. En ningún caso, Microsoft será responsable de cualquier solución de terceros que mencione este artículo.