iTank ideas

Cómo analizar un volcado de memoria de Windows

Tras haber experimentado el temido pantallazo azul de la muerte o dead bluescreen varias veces me propuse analizar el estado del sistema en el momento del fatal reinicio. Esto es lo que hice:

Los reinicios con pantallazo azul producen un volcado de memoria a disco que por defecto se materializa en un fichero c:\windows\memory.dmp que intentaremos analizar.

Herramientas de análisis

Aunque localicé algunos programas que en teoría ayudan a localizar las causas del problema como Bluescreenview o Whocrashed, ninguno de ellos me ofreció nada revelador. La herramienta más completa (y compleja) para analizar los MEMORY.DMP es WinDbg de Microsoft.

https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/

Desde una sesión con privilegios de administrador ejecutar el comando:

winget install Microsoft.WinDbg

No logré instalarla directamente en el servidor sin conexión a Intert, pero sí en un Windows 10 local y me transferí el fichero memory.dmp para analizarlo

Analizar el fichero memory.dmp

Desde WinDbg abro el fichero .dmp lo que produce el inicio de una sesión de debug

Ahora obtendré el listado de procesos activos en el sistema en el momento del problema:

kd> !vm

Y este será el output

Page File: ?? C:\pagefile.sys
Current: 25427968 Kb Free Space: 25216864 Kb
Minimum: 25427968 Kb Maximum: 38010880 Kb

Physical Memory: 6291206 ( 25164824 Kb)
Available Pages: 3179974 ( 12719896 Kb)
ResAvail Pages: 6035958 ( 24143832 Kb)
Locked IO Pages: 0 ( 0 Kb)
Free System PTEs: 4294972562 (17179890248 Kb)
Modified Pages: 16534 ( 66136 Kb)
Modified PF Pages: 16534 ( 66136 Kb)
Modified No Write Pages: 4 ( 16 Kb)
NonPagedPool Usage: 246 (4226247819264 Kb)
NonPagedPoolNx Usage: 81435 (1399042646999040 Kb)
NonPagedPool Max: 4294967296 (17179869184 Kb)
PagedPool Usage: 81557 ( 326228 Kb)
PagedPool Maximum: 4294967296 (17179869184 Kb)
Processor Commit: 1078 ( 4312 Kb)
Session Commit: 390 ( 1560 Kb)
Shared Commit: 39768 ( 159072 Kb)
Special Pool: 0 ( 0 Kb)
Kernel Stacks: 16720 ( 66880 Kb)
Pages For MDLs: 4184 ( 16736 Kb)
ContigMem Pages: 0 ( 0 Kb)
Partition Pages: 0 ( 0 Kb)
Pages For AWE: 0 ( 0 Kb)
NonPagedPool Commit: 86990 ( 347960 Kb)
PagedPool Commit: 81571 ( 326284 Kb)
Driver Commit: 11518 ( 46072 Kb)
Boot Commit: 3233 ( 12932 Kb)
PFN Array Commit: 74273 ( 297092 Kb)
SmallNonPagedPtesCommit: 704 ( 2816 Kb)
SlabAllocatorPages: 0 ( 0 Kb)
SkPagesInUnchargedSlabs: 0 ( 0 Kb)
System PageTables: 1566 ( 6264 Kb)
ProcessLockedFilePages: 57 ( 228 Kb)
Pagefile Hash Pages: 91 ( 364 Kb)
Sum System Commit: 322143 ( 1288572 Kb)
Total Private: 2867853 ( 11471412 Kb)
Misc/Transient Commit: 32780 ( 131120 Kb)
Committed pages: 3222776 ( 12891104 Kb)
Commit limit: 12648198 ( 50592792 Kb)