Mi computadora está tardando mucho en apagarse.
¿Cómo puedo identificar al culpable? No quiero esperar minutos para que mi computadora se apague ...
¿Hay algún programa que pueda usar para rastrear cuánto tiempo lleva apagarse?
Mi computadora está tardando mucho en apagarse.
¿Cómo puedo identificar al culpable? No quiero esperar minutos para que mi computadora se apague ...
¿Hay algún programa que pueda usar para rastrear cuánto tiempo lleva apagarse?
Respuestas:
Windows proporciona contadores de rendimiento , así como el seguimiento de eventos, que permite a las aplicaciones realizar análisis de rendimiento para que se pueda determinar la causa de los problemas de rendimiento, entre los que existen hay un kit de herramientas excepcional: el kit de herramientas de rendimiento de Windows disponible en el SDK de Windows .
En este kit de herramientas encontrará xbootmgr.exe
, destinado al análisis de rendimiento de transición de encendido / apagado de Windows .
Aunque el documento vinculado anterior entra en todos los detalles para cada transición de encendido / apagado, aquí está la idea general sobre el rastreo y el análisis de la transición de apagado utilizando xbootmgr
y la GUI xperf:
Descargue el SDK de Windows, luego instale Windows Performance Toolkit usándolo.
Abra un símbolo del sistema como administrador, luego ejecute:
cd %ProgramFiles%\Microsoft Windows Performance Toolkit
Si desea ayuda en el futuro, puede escribir xbootmgr -help
también xperf /?
.
Haga un seguimiento de reinicio como este:
xbootmgr -trace shutdown -traceFlags BASE+DIAG+LATENCY -noPrepReboot
Después del arranque, generará una traza en dos minutos.
La traza se ha guardado %ProgramFiles%\Microsoft Windows Performance Toolkit
, puede arrastrarla xperf.exe
y se abrirá en una GUI.
Verá una GUI con diferentes gráficos, la flecha en el lado izquierdo le permite agregar / eliminar gráficos.
Mire los gráficos y vea si puede identificar algo fuera de lo común, puede seleccionar un intervalo y acercarlo si lo desea. Haga clic derecho y desactive cuando quiera ver el conjunto.
Para cada gráfico, puede hacer clic con el botón derecho para obtener tablas de resumen para el intervalo seleccionado actualmente .
En estas tablas, ordene por peso o por tiempo para determinar en qué está gastando más. Tenga en cuenta que puede arrastrar alrededor de las columnas, por lo que, por ejemplo, la tabla de E / S le permite verificar el proceso de uso más alto, así como la ruta de uso más alta.
El divisor (una columna de encabezado amarillo) hace que las columnas a la derecha muestren el total de las columnas a la izquierda. Entonces, si tiene Path primero y luego Process, puede abrir el árbol de un archivo para ver qué procesos han accedido a él y luego obtener los totales para esa combinación de proceso / archivo.
Puede encontrar más información sobre cómo funcionan los gráficos y las tablas aquí .
Si de alguna manera necesita bajar para mirar los rastros de la pila; haga otro seguimiento de arranque y agregue el -stackWalk profile
parámetro, establezca _NT_SYMBOL_PATH y haga clic derecho en cualquier gráfico y habilite "Cargar símbolos". Esto le permitirá verificar qué funciones está llamando realmente, aunque en general no necesitará esto para un apagado; pero puede permitir cosas como descubrir que su firewall está interfiriendo con su depurador como programador. Bastante ingenioso ...
Buena suerte, espero que puedas encontrar al culpable. Si no es así, suelte el rastro y lo buscaremos ...
Tenga en cuenta que los DPC son llamadas de procedimiento diferido y las interrupciones son interrupciones de software , ambas están relacionadas con controladores / hardware.
Mis paradas estaban tardando mucho en correr. Lo que sigue es mi ejemplo con la respuesta de Tom .
El primer gráfico muestra el problema, E / S de disco :
Mi apagado tarda más de un minuto y todo es E / S en el disco duro.
El siguiente gráfico, Disk Utilization, muestra que una unidad está casi al máximo al 100% de uso:
El gráfico final muestra la utilización del disco por proceso :
Filtrando, me doy cuenta de que todo es causado por WinInit.exe
:
Al hacer clic con el botón derecho en cualquiera de los gráficos del disco duro y seleccionar Tabla de resumen , puedo obtener los detalles de a qué archivos se accedió mediante qué proceso:
Pasé 56.4 segundos de mi apagado WinInit
escribiendo 6.7GB en C:\hiberfil.sys
.
Pero la pregunta es ¿por qué Windows escribe en mi archivo de hibernación al apagar ?
Luego recordé una opción que había activado para borrar ese archivo de paginación al apagar:
Así que deshabilité la opción y corro xbootmgr
nuevamente. Ahora mi apagado es de 22 segundos:
Ahora 9s
el 22s
cierre se gasta System
escribiendo en algún unknown
archivo. Eso podría ser digno de más investigación.
Pero por ahora he resuelto mi apagado minuto y medio.
Fui más lejos y resolví mi apagado lento de 22 segundos. De t = 12s
a t = 21s
mostró 100% de utilización de disco , pero cero E / S de disco . Fue desconcertante.
Hasta que durante un apagado oí el sonido familiar de uno de mis discos girando. El apagado se detuvo durante 9 segundos porque Windows intentaba acceder a un disco que se había dormido. Nueve segundos después, la unidad responde y, un momento después, la máquina se apaga.
Irónico que Windows despierte un disco para decirle que es hora de irse a dormir.
Eso haría que mi apagado real fuera de 13.5 segundos. Eso podría valer más investigación. Pero por ahora he resuelto mi apagado de 22 segundos.