Herramienta para registrar la E / S de disco del proceso específico en el archivo


1

Estoy usando Windows 8 x64. El MSSE (renombrado a Windows Defender) causa BSoD constantemente durante el escaneo rápido (el problema se describe aquí ). Quiero saber cuál fue el último archivo al que accedió.

Normalmente uso SysInternals Process Monitor para tales tareas. Sin embargo, no tiene ninguna opción para guardar eventos a medida que se generan, y debido a que el sistema se bloquea con BSoD, no puedo ver ninguna salida.

¿Conoce la herramienta para monitorear las E / S de disco como lo hace SysInternals Process Monitor, que guarda todos los datos en el HDD (filtrando su propia E / S de disco, por supuesto)?

Respuestas:


2
  1. Habilite un volcado de memoria completo. Presione Win+ Pause, vaya a "Configuración avanzada del sistema" → pestaña Avanzada y en "Inicio y recuperación", haga clic en Configuración.

  2. Asegúrese de que su archivo de paginación sea lo suficientemente grande como para contener un volcado completo, es decir, al menos un tamaño de RAM + 256 MB.

    • vaya a "Configuración avanzada del sistema" → pestaña Avanzado

    • bajo Rendimiento, haga clic en Configuración y vaya a la pestaña Avanzado

    • haga clic en "Cambiar .." y seleccione "Tamaño personalizado"

    • no olvides hacer clic en Establecer antes de Aceptar, solo Aceptar no funcionará

    Si después de eso tiene menos de (25 GB + RAM) de espacio libre en la unidad del sistema, haga lo siguiente:

    • abrir Regedit

    • navegar a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

    • crear una clave DWORD AlwaysKeepMemoryDumpcon el valor de 1

    • reiniciar

  3. Inicie un seguimiento de Xperf ( xperf –on DiagEasydesde la consola de administración) que captura la actividad del disco duro.

  4. Ejecute MSE (o Windows Defender) y espere el bloqueo.

  5. Reinicie a Windows y abra el archivo Memory.dmp con WinDbg. Dentro de Windbg, ejecute el siguiente comando para ver todos los registros ETW activos:

    !wmitrace.strdump
    
  6. Mire qué número es el "NT Kernel Logger". Ahora ejecute el siguiente comando para exportar los datos a un archivo ETL:

    !wmitrace.logsave 0xNUMBER c:\DISK.etl
    
  7. Abra el archivo ETL en xperfview / WPA y mire el gráfico de E / S del disco a qué archivos accedió.


He logrado crear el volcado completo y guardar el ETL. El problema es que el WPA no quiere abrir el ETL diciendo "Traza C: \ Temp \ Crashes \ DISK.etl no se pudo abrir con éxito [0x80070570]. Cancelando la operación". ¿Algunas ideas?
Pronto

El código significa que el archivo está dañado (0x80070570 = ERROR_FILE_CORRUPT). Intente abrir el ETL con xperfview en su lugar.
magicandre1981

Mismo error. Por cierto, tengo la sensación de que esas 2 herramientas (wpa.exe y xperfview.exe) son simplemente envoltorios delgados sobre alguna biblioteca compartida (incluso el título del mensaje de error es el mismo, "Windows Performance Analyzer"). Intenté recrear el ETL, sin suerte.
Pronto

1
pregunte a MSFT aquí en los comentarios o por correo cómo evitar archivos ETL corruptos: channel9.msdn.com/Shows/Defrag-Tools/…
magicandre1981

0

Process Monitor puede escribir en un archivo de registro en el disco, consulte Archivo → Archivos de respaldo .


1
No. El archivo 'C: \ Temp \ 2remove \ FileIO.PML' no se cerró limpiamente durante la captura y está dañado.
Pronto
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.