麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Windows > 正文

理解Windows Vista和Windows 7中的崩潰轉(zhuǎn)儲文件

2019-11-28 04:26:28
字體:
供稿:網(wǎng)友
默認(rèn)情況下,Windows配置為當(dāng)系統(tǒng)發(fā)生崩潰時(shí)嘗試自動(dòng)抓取一個(gè)當(dāng)前操作系統(tǒng)的狀態(tài)信息。接下來我們將討論系統(tǒng)故障,非應(yīng)用程序失敗。Dump選項(xiàng)可以通過控制面板中的系統(tǒng)工具來進(jìn)行設(shè)置。我們打開系統(tǒng)屬性高級選項(xiàng)卡,找到啟動(dòng)和故障恢復(fù),點(diǎn)擊設(shè),我們就可以看到Dump文件的相關(guān)配置。當(dāng)系統(tǒng)發(fā)生崩潰時(shí),有3類Dump文件可以被捕獲:

  • 完全內(nèi)存轉(zhuǎn)儲:當(dāng)崩潰發(fā)生時(shí),將捕獲整個(gè)物理內(nèi)存的狀態(tài)。此類轉(zhuǎn)儲文件大小為內(nèi)存中頁面文件大小+1MB的文件頭。Windows NT4只支持完全內(nèi)存轉(zhuǎn)儲,當(dāng)然這也是Windows Server Systems的默認(rèn)設(shè)置。
  • 核心內(nèi)存轉(zhuǎn)儲:當(dāng)崩潰發(fā)生時(shí),核心內(nèi)存轉(zhuǎn)儲只捕獲物理內(nèi)存中內(nèi)核態(tài)的頁面文件讀/寫數(shù)據(jù)。這只是內(nèi)核態(tài)的轉(zhuǎn)儲,并不包括用戶態(tài)進(jìn)程的頁面。不過,由用戶態(tài)進(jìn)程頁引起系統(tǒng)崩潰是不大可能的,通常都是由內(nèi)核態(tài)引起。核心內(nèi)存轉(zhuǎn)儲中包括:當(dāng)前運(yùn)行進(jìn)程、線程和被加載的驅(qū)動(dòng)等相關(guān)信息。核心內(nèi)存轉(zhuǎn)儲文件大小=操作系統(tǒng)內(nèi)核態(tài)內(nèi)存占用大小+操作系統(tǒng)為驅(qū)動(dòng)程序分配內(nèi)存的大小。
  • 小內(nèi)存轉(zhuǎn)儲:小內(nèi)存轉(zhuǎn)儲(又叫Mini-dump)是一個(gè)64K的轉(zhuǎn)儲文件(64位系統(tǒng)和Windows7里是128K,Vista512K),它包括:終止代碼、參數(shù)和被加載的驅(qū)動(dòng)列表。主要信息為崩潰時(shí)的當(dāng)前進(jìn)程、線程和內(nèi)核堆。 

注意:有的情況下我們需要進(jìn)行完全內(nèi)存轉(zhuǎn)儲,手動(dòng)進(jìn)行完全內(nèi)存轉(zhuǎn)儲為程序停止響應(yīng)的排錯(cuò)提供了最為豐富的信息。因?yàn)楫?dāng)程序Hang住時(shí),我們需要查看用戶態(tài)進(jìn)程、死鎖等等信息。不過,當(dāng)你在選擇捕獲哪種Dump文件時(shí),一定要考慮好捕獲出來的文件大小。如上所述,完全內(nèi)存轉(zhuǎn)儲文件大小會是在物理內(nèi)存大小的基礎(chǔ)上+1MB。(筆者8GB內(nèi)存,再加1MB??植腊?hellip;…)

前面我們回顧了3種類型的Dump文件,實(shí)則在日常的工作中核心內(nèi)存轉(zhuǎn)儲是我們系統(tǒng)崩潰和Bug檢查時(shí)最常用到的。請記住,核心內(nèi)存轉(zhuǎn)儲文件大小僅基于內(nèi)核態(tài)內(nèi)存占用和驅(qū)動(dòng)內(nèi)存占用。(在有更多內(nèi)存的系統(tǒng)上,Dump文件過大是正常的。)目前我們還無法精準(zhǔn)的計(jì)算核心內(nèi)存轉(zhuǎn)儲文件大小,你可以嘗試手動(dòng)配置核心內(nèi)存轉(zhuǎn)儲來查看頁面文件是否足夠大。對于設(shè)置最小的核心內(nèi)存轉(zhuǎn)儲大小我們有一定的指導(dǎo)方針,但對于最大值目前還沒辦法:
物理內(nèi)存             最小頁面文件 (Kernel Dump)
  < 128MB                 50MB   
  < 4GB                     200MB
  < 8GB                     400MB          
   >= 8GB                  800MB

如果你擔(dān)心頁面文件設(shè)置過小,無法很好的捕獲核心轉(zhuǎn)儲,我們唯一的辦法就是通過KB244139所描述的方式使用CrashOnCtrlScroll方法造成手動(dòng)崩潰。系統(tǒng)重啟之后,我們可以手工查看Dump文件大小。另一種方法是在啟動(dòng)分區(qū)上手動(dòng)設(shè)置2GB+1MB的頁面文件大?。?2位系統(tǒng)),這是因?yàn)?2位操作系統(tǒng)內(nèi)核態(tài)最大地址空間就是2GB。

除了配置正確的頁面文件大小之外,我們也需要確保有足夠的磁盤空間讓Dump文件能夠被正確的寫入。與頁面文件用來捕獲Dump不同,Dump文件可以被寫入其它的本地分區(qū)。在保存多個(gè)Dump文件時(shí),請取消選擇“覆蓋任何現(xiàn)有文件”。不過請記住,這會給剩余的磁盤空間造成很大的壓力。

下面我們來看Dump文件是如何被產(chǎn)生的。當(dāng)系統(tǒng)啟動(dòng)時(shí),會到注冊表HKLM/System/CurrentControlSet/Control/CrashControl 讀取崩潰轉(zhuǎn)儲選項(xiàng)。所有在圖形界面所做的操作都會修改如下注冊表值:

  • 將事件寫入系統(tǒng)日志=LogEvent
  • 自動(dòng)重新啟動(dòng)= AutoReboot
  • 寫入調(diào)試信息= CrashDumpEnabled
  • 轉(zhuǎn)儲文件= DumpFile
  • 覆蓋任何現(xiàn)有文件= Overwrite

點(diǎn)擊查看原大圖片

如果你的系統(tǒng)超過2GB內(nèi)存,在圖形界面中你將不會看到完全內(nèi)存轉(zhuǎn)儲選項(xiàng)。其原因在KB274598中進(jìn)行了描述。但我們可以通過將HKLM/System/CurrentControlSet/Control/CrashControl下的CrashDumpEnabled值設(shè)置為1來強(qiáng)制啟用它(改這個(gè)值在圖形界面中完全內(nèi)存轉(zhuǎn)儲仍不會顯示出來)。如果你需要完全內(nèi)存轉(zhuǎn)儲來做更詳盡的排錯(cuò),也可以考慮使用Boot.ini中的MAXMEM開關(guān)將32位操作系統(tǒng)所使用的內(nèi)存限制在2GB或更少(可以參考KB108393),此時(shí)系統(tǒng)就會將完全內(nèi)存轉(zhuǎn)儲選項(xiàng)顯示來。

現(xiàn)在回到Dump文件如何被產(chǎn)生這個(gè)話題。一旦轉(zhuǎn)儲功能被啟用,操作系統(tǒng)會自動(dòng)寫一個(gè)以“Dump_”開頭的磁盤迷你端口驅(qū)動(dòng)到啟動(dòng)分區(qū),并校驗(yàn)與創(chuàng)建 Dump文件相關(guān)的所有組件。包括:磁盤迷你端口驅(qū)動(dòng)、寫入Dump文件的I/O管理函數(shù)和啟動(dòng)分區(qū)的頁面文件。最終所得的校驗(yàn)結(jié)果會被保存起來,每當(dāng)系統(tǒng)啟動(dòng)時(shí)KeBugCheck函數(shù)會重新進(jìn)行校驗(yàn)并與之前的結(jié)果相比對。如果校驗(yàn)結(jié)果不匹配,將不會有Dump文件被寫入磁盤(因?yàn)橛衅茐拇疟P數(shù)據(jù)的危險(xiǎn));如果檢驗(yàn)結(jié)果匹配,Dump信息會被寫入已經(jīng)被寫到磁盤啟動(dòng)分區(qū)上的頁面文件當(dāng)中。文件系統(tǒng)會被完全繞過,因?yàn)樗灿锌赡苁窃斐杀罎⒌脑蛑?。?dāng)SMSS.EXE在啟動(dòng)過程中開啟內(nèi)存分頁時(shí),系統(tǒng)會仔細(xì)檢查啟動(dòng)分區(qū)頁面文件當(dāng)中的信息。如果有崩潰信息,這部分頁面文件就會被保護(hù)起來。如果啟動(dòng)過程中的所有或部分啟動(dòng)分區(qū)頁面文件不可用,系統(tǒng)會提示虛擬內(nèi)存過低(暫時(shí))。啟動(dòng)進(jìn)程執(zhí)行完成之后WINLOGON.EXE會調(diào)用SAVEDUMP.EXE進(jìn)程從頁面文件中抽出崩潰信息,并將Dump文件寫到磁盤上。

在Windows Server 2003上,某些過程可能會有不同,請參考KB886429。當(dāng)Server啟動(dòng)之后,Windows會要求在啟動(dòng)分區(qū)上創(chuàng)建一個(gè)和物理內(nèi)存相同大小的臨時(shí)文件。如果磁盤空間不足,Dump還是會生成,不過會被系統(tǒng)縮減大小。在創(chuàng)建Dump操作過程的初期,會話管理子系統(tǒng)(SMSS.EXE)就會介入驗(yàn)證內(nèi)存Dump信息是否有效。如果Dump信息有效,SMSS.EXE會將Dump文件重命名為Dumpxxx.tmp,進(jìn)而存儲Dumpxxx.tmp到啟動(dòng)分區(qū)并設(shè)置HKLM/System/CurrentControlSet/Control/CrashControl/MachineCrash下的TempDestinationDumpFile值。SAVEDUMP.EXE便會讀取這2個(gè)值,并在判定文件的有效性之后將Dumpxxx.tmp保存成Memory.dm

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品视频自拍 | www.99re14.com| 免费色片| 精品一区二区三区网站 | 97porn| 黄色免费在线视频网站 | 久久综合一区二区 | 午夜精品小视频 | 久久人人97超碰国产公开结果 | 大学生一级毛片在线视频 | 国产在线观看免费视频软件 | 成人一级免费视频 | 欧美精品久久久久久久久久 | 国产欧美精品一区二区三区四区 | 国产伦乱视频 | free korean xxxxhd | 91网站免费在线观看 | 欧美日本91精品久久久久 | av中文字幕免费在线观看 | 欧美a v在线 | 中文字幕一区2区 | 国产亚洲美女精品久久久2020 | 成人午夜精品久久久久久久蜜臀 | 美女亚洲综合 | 性视频久久 | 99最新网址 | 一区二区国产在线 | 免费看一级视频 | 国产成人精品免高潮在线观看 | 日本成人在线免费 | 亚洲欧美一区二区三区在线观看 | 色人阁导航 | 国产1区2区3区中文字幕 | 久久国产精品久久久久久电车 | 久久精品中文字幕一区二区 | 国产又白又嫩又紧又爽18p | 国产九色91 | 中文字幕伦乱 | h视频免费在线观看 | 久久久aa | 99精品视频久久精品视频 |