天天看點

如何分析 WindowsDump:Dump 起源與初始設定(一)

适用場景:Windows 系列系統異常當機(藍屏)且存在Dump檔案(*.dmp)

相關背景解釋:衆所周知,Windows曆史上BUG比較多,無故當機、程式卡死的例子較多,為了避免無迹象可循的情況,Microsoft 推出 Dump機制在當機時先進行藍屏收集當機前狀态,并且可以捕獲到導緻異常的關鍵錯誤,當Windows出現異常Crash時Windows會調用Dump系統來形成一個轉儲檔案(*.dmp),通過特殊工具可以進行分析。

如何確定有Dump檔案?

1、 要清楚,Dump檔案是Windows啟動的一個保險機制,而藍屏主要是用做給系統争取時間進行收集Dump檔案所用,是以一個邏輯是必然會有的,那就是如果藍屏必然觸發Dump機制,Dump機制會根據系統設定進行Mini或Full的收集。

2、 關于Dump檔案的大小,如果Dump設定的存放位置不滿足Dump檔案大小也是不會産生Dump檔案:

a) MiniDump檔案大小:取決于Windows 運作時記憶體頁大小,比如目前CVM跑的是資料庫,那麼産生的Dump檔案大小就是資料庫交換記憶體的概要資訊,比如說16G記憶體有20%被使用,當機時所産生的Dump檔案就是3.2g的概要資訊(即涉及到的程序的大概位址)

b) FullDump檔案大小:取決于Windows實體記憶體大小,FullDump即完整收集模式,将整個系統在當機時的整個記憶體運作态進行記錄,通常該檔案的大小是實體大小的1.0 ~ 1.5倍左右(倍數的浮動取決于虛拟記憶體交換設定的大小)

3、 是以,要確定有Dump檔案,最低條件是:

a) 開啟Windows系統的Dump

如何分析 WindowsDump:Dump 起源與初始設定(一)

b) 確定設定的位置剩餘空間是實體記憶體1.5倍以上

如何分析 WindowsDump:Dump 起源與初始設定(一)

c) 若要完整的Dump日志進行分析,請選擇完整收集模式

如何分析 WindowsDump:Dump 起源與初始設定(一)

注1:QCloud Windows Server 2008R2為避免磁盤風險,預設不開啟FullDump模式,是以如果需要詳細Debug檔案,則手動開啟即可:

如果您想要啟用完全記憶體轉儲選項,手動設定為 0x1 以下系統資料庫子項下的CrashDumpEnabled系統資料庫項并重新啟動 Windows:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

注2:也可以使用Memory Dump Configuration工具進行設定

如何分析 WindowsDump:Dump 起源與初始設定(一)
如何分析 WindowsDump:Dump 起源與初始設定(一)

相關推薦:如何分析 WindowsDump:BSOD 分析與 WinDbg 使用(二)