服務器自動重啟原因排查方法


  手頭兩台Windows Server 2003 R2服務器最近總是莫名其妙重啟,停了備機應用之后,9月1日凌晨監控顯示又重啟了:

[設備指標:【Zabbix agent】告警,狀態:Zabbix agent不可達](2018-09-01 04:38:37)

[設備告警,狀態:操作系統重啟](2018-09-01 04:45:28)

1.查看操作系統日志  

查看操作系統日志方法:控制面板-管理工具-事件查看器-系統,查看重啟時間前后的事件,一般查看以下事件:1076、1074、6013、6008、1001。查到以下相關日志:

  

 2.分析memory.dmp文件

  memory.dmp是在上次操作系統發生錯誤的時候,由操作系統將當時內存(含虛擬內存)中的數據直接寫到文件中去,以備以后讓系統工程師檢查。

  為分析memory.dmp文件,安裝了Windows Debugging Tool ,打開windbg,配置Windows Debugging Tool (WinDBG):File菜單-〉選擇Symbol File Path,復制此配置到文本框中(D:\Symbol相當於工程目錄):

srv*D:\Symbol*http://msdl.microsoft.com/download/symbols;D:\Symbol

  File菜單->Open Crash Dump,選擇memory.dmp文件,界面中出現“Use !analyze -v to get detailed debugging information.”之后,在kb>中輸入!analyze -v,開始進行分析:

 
         

22: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

 
         

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 92f91000, memory referenced
Arg2: d0000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: f7ad7e34, address which referenced memory

 
         

Debugging Details:
------------------

 
         

Page 21a05a not present in the dump file. Type ".hh dbgerr004" for details
Page 21a07b not present in the dump file. Type ".hh dbgerr004" for details

 
         

READ_ADDRESS: 92f91000

 
         

CURRENT_IRQL: 2

 
         

FAULTING_IP:
Ntfs!NtfsAllocateRestartTableIndex+68
f7ad7e34 8b02 mov eax,dword ptr [edx]

 
         

DEFAULT_BUCKET_ID: DRIVER_FAULT

 
         

BUGCHECK_STR: 0xD1

 
         

PROCESS_NAME: helpsvc.exe

 
         

TRAP_FRAME: b7da95fc -- (.trap 0xffffffffb7da95fc)
ErrCode = 00000000
eax=08000000 ebx=80a61480 ecx=00000000 edx=92f91000 esi=8af91000 edi=8e88c2c8
eip=f7ad7e34 esp=b7da9670 ebp=b7da9688 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
Ntfs!NtfsAllocateRestartTableIndex+0x68:
f7ad7e34 8b02 mov eax,dword ptr [edx] ds:0023:92f91000=????????
Resetting default scope

 
         

LAST_CONTROL_TRANSFER: from f7ad7e34 to 8088e730

 
         

STACK_TEXT:
b7da95fc f7ad7e34 badb0d00 92f91000 80a63456 nt!KiTrap0E+0x18c
b7da9688 f7b11779 08000000 00000001 c4ac0000 Ntfs!NtfsAllocateRestartTableIndex+0x68
b7da97f0 f7b1b6aa 8b245ef8 e16330d0 8cfc7d68 Ntfs!NtfsWriteLog+0x22a
b7da9984 f7b1b786 8b245ef8 e16330d0 e19629c8 Ntfs!NtfsUpdateFileNameInIndex+0x128
b7da9a80 f7b09791 8b245ef8 e1962728 e1962978 Ntfs!NtfsUpdateDuplicateInfo+0x2b0
b7da9ae0 f7b09cac 8b245ef8 e1962728 e250b750 Ntfs!NtfsUpdateFileDupInfo+0xf0
b7da9b74 f7b0e377 8b245ef8 8cf393e8 8cf348c0 Ntfs!NtfsSetBasicInfo+0x3b5
b7da9be0 f7ad9fd8 8b245ef8 8cf348c0 8e88c330 Ntfs!NtfsCommonSetInformation+0x40a
b7da9c48 8081e185 8e18e020 8cf348c0 8e847f38 Ntfs!NtfsFsdSetInformation+0xa3
b7da9c5c f7875c59 8e847f38 b857dfc8 000001c8 nt!IofCallDriver+0x45
b7da9c84 8081e185 8e88c330 8cf348c0 8cf34a50 fltmgr!FltpDispatch+0x6f
b7da9c98 b85438f5 8cf34a50 8cdbf288 8cf348c0 nt!IofCallDriver+0x45
WARNING: Stack unwind information not available. Following frames may be wrong.
b7da9cac 8081e185 8dfb2020 8cf348c0 8cec2e58 eamon+0x58f5
b7da9cc0 808f34dd b7da9d64 00cbf3a8 808f2f3e nt!IofCallDriver+0x45
b7da9d48 8088b658 000002a0 00cbf3d0 00cbf3a8 nt!NtSetInformationFile+0x59f
b7da9d48 7c9583ac 000002a0 00cbf3d0 00cbf3a8 nt!KiSystemServicePostCall
00cbf3d8 00000000 00000000 00000000 00000000 0x7c9583ac

 
         


STACK_COMMAND: kb

 
         

FOLLOWUP_IP:
eamon+58f5
b85438f5 83c9ff or ecx,0FFFFFFFFh

 
         

SYMBOL_STACK_INDEX: c

 
         

SYMBOL_NAME: eamon+58f5

 
         

FOLLOWUP_NAME: MachineOwner

 
         

MODULE_NAME: eamon

 
         

IMAGE_NAME: eamon.sys

 
         

DEBUG_FLR_IMAGE_TIMESTAMP: 53f5d906

 
         

FAILURE_BUCKET_ID: 0xD1_eamon+58f5

 
         

BUCKET_ID: 0xD1_eamon+58f5

 
         

Followup: MachineOwner
---------

 3.解決方法

  錯誤原因:DRIVER_IRQL_NOT_LESS_OR_EQUAL,表明存在以太高的進程內部請求級別(IRQL)訪問其沒有權限訪問的內存地址。

  PROCESS_NAME: helpsvc.exe 此進程有耗盡計算機資源的風險。開始-》運行-》services.msc,停用“Help and Support”服務,並將啟動方式改為手動。

 4.第二次自動重啟

   第二天上午又發生了自動重啟的問題,通過事件查看器查出錯誤代碼是0x0000007e,分析dump文件,錯誤名稱為SYSTEM_THREAD_EXCEPTION_NOT_HANDLED。表示系統進程遇到了問題,但Windows錯誤處理器無法准確捕獲錯誤類型。這個錯誤比較棘手,可以設置藍屏時不自動重啟,等下一次復現時觀察下藍屏中的提示進一步分析:

  這次在dump文件中查到與Ntfs.sys有關,重新掃描了磁盤,狀態良好:

5.最終解決方案

更新操作補丁,更新之后不再發生此情況。

 

2018-11-09 11:26:42

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM