ed、bt、FlashGet...等產生的硬碟碎片
建議用兩硬碟分割區互搬移方式重組硬碟比較快
至於 "Windows自行關閉硬碟DMA模式"
見下文
==================
硬碟的DMA模式大家應該都知道吧,硬碟的PATA模式有DMA33、DMA66、DMA100和DMA133,最新的SATA-150都出來了!一般來說現在大多數人用的還是PATA模式的硬碟,硬碟使用DMA模式相比以前的PIO模式傳輸的速度要快2~8倍。DMA模式的起用對系統的效能起到了實質的作用。以前有很多文章介紹過如何開啟DMA模式,我在這裡也就不多說了。
但筆者發現一個新的「問題」——Windows 2000、XP、2003系統有時會自行關閉硬碟的DMA模式,自動改用PIO模式執行!這就造成在使用以上系統中硬碟效能突然下降,其中最明顯的現象有:系統起動速度明顯變慢,一般來說正常Windows XP系統啟動時那個由左向右運動的滑條最多走2∼4次系統就能啟動,但這一問題發生時可能會走5∼8次或更多!而且在執行系統時進行硬碟操作時明顯感覺變慢,在執行一些大的軟體時CPU佔用率時常達到100%而產生停頓,玩一些大型3D遊戲時(比如極品飛車6)畫面時有明顯停頓(很多人這時以為是自己的顯示卡問題,當然如果你使用的是三年前的顯示卡玩這些遊戲是有點老了,但如果你用的是今年才買的GF顯示卡那就不是它的問題了),出現以上問題時大家最好看看自己硬碟的DMA模式是不是被Windows 系統自行關閉了。檢視自己的系統是否開啟DMA模式:
1. 雙按「系統管理工具」,然後雙按「電腦管理」;
2. 按下「系統工具」,然後按下「裝置管理員」;
3. 展開「IDE ATA/ATAPI 控制器」節點;
4. 雙按您的「主要IDE控制器」;
5. 點擊「進階設定」。
看到「設備0」,下面的傳輸模式應設為「DMA(若可用)」,再下面「當前傳輸模式」,如果是「Ultra DMA Mode *(*為數位,DMA33為2,DMA66為4,DMA100為5、DMA133為6)」,那麼你的系統正常,但如果以前你自己設的是「Ultra DMA Mode 6」又沒有改動,而現在是「Ultra DMA Mode 4」或「Ultra DMA Mode 2」更或者是「PIO 模式」而且改不過來!可能就是系統自行關閉了DMA模式了。
分析問題:
好了,先來說說問題是如何產生的。在Windows 2000/XP/2003中有這樣一個設定: Windows IDE/ATAPI 連接阜驅動程式 (Atapi.sys) 累積收到總共6個超時或循環冗余檢驗 (CRC) 錯誤後,驅動程式將把通信速度(傳送模式)從最快的直接記憶體訪問 (DMA) 模式分步驟降為較慢的 DMA 模式。如果驅動程式繼續收到超時或 CRC 錯誤,則驅動程式最終將把傳送模式降為最慢的模式(PIO 模式)。 問題就在這裡!一般來說一個正常的硬碟很少會有超時或循環冗余檢驗 (CRC) 錯誤,但是當我們使用這些系統裡的掛起(也有叫休眠)並恢復電腦後就很容易造成超時或循環冗余檢驗 (CRC) 錯誤。因為系統設定的超時值為4秒,當系統向 ATA 磁牒發出讀取請求時如果硬碟回應時間超過 4 秒的超時值時才會產生超時或循環冗余檢驗 (CRC) 錯誤,但因為系統在掛起(也有叫休眠)時硬碟是在停轉狀態中,恢復電腦時硬碟有個從停止到運動的程序,這就很容易造成大部分硬碟回應時間超過 4 秒的超時值。也就是說當我們使用電腦掛起6次後系統就會把通信速度(傳送模式)從最快的直接記憶體訪問 (DMA) 模式分步驟降為較慢的 DMA 模式。如果掛起6次以上則驅動程式最終將把傳送模式降為最慢的模式(PIO 模式)。這就是Windows 系統突然變慢的原因。
解決問題:
若要為受影響的設備重新啟用典型DMA或更快DMA的傳送模式,請執行以下操作:
1. 雙按「系統管理工具」,然後雙按「電腦管理」;
2. 按下「系統工具」,然後按下「裝置管理員」;
3. 展開「IDE ATA/ATAPI 控制器」節點;
4. 雙按您要為其恢復典型 DMA 傳送模式的控制器;
5. 按下「驅動程式」選擇項;
6. 按下「卸載」。
當此程序完成後,重新啟動您的電腦。當 Windows 重新啟動後,將重新枚舉硬碟控制器,同時與該控制器相連的每個設備的傳送模式將重置為預設值。
但這樣只是把硬碟設備的傳送模式重置為預設值,當我們再使用掛起系統時系統又會自行關閉DMA模式!所以我們還要做以下操作:
1. 按下「開始」,按下「執行」,按鍵輸入 Regedit,然後按下「確定」。
2. 在註冊表中找到並按下以下項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002
3. 在「編輯」表單上,指向「新增」,然後按下「DWORD 值」。
4. 按鍵輸入 ResetErrorCountersOnSuccess,然後按 Enter 鍵。
5. 在「編輯」表單上,按下「修改」。
6. 按鍵輸入 l,然後按下「確定」。
7. 按照下列步驟操作,然後結束註冊表編輯器:
注意:上面註冊表最後的項「{4D36E96A-E325-11CE-BFC1-08002BE10318}」列出的帶有「0001」編號的子項對應於一台僅有一個 IDE 控制器的電腦的主要 IDE 通道和次要 IDE 通道。如果您的電腦有兩個 IDE 控制器,則對於每個控制器,主要 IDE 通道和次要 IDE 通道的帶有編號的子項分別是:「0001、0002、0003、0004、0005、0006……」。
為檢查是否找到了正確的子項,請檢查子項的 DriverDesc 值是包含字串串值「主要 IDE 通道」,還是包含字串串值「次要 IDE 通道」。
建立以上註冊表鍵值的目的是:
在Windows中,使系統向 ATA 磁牒發出讀取請求時的 4 秒的超時值更改為 10 秒。還實現了一種較不嚴格的變通原則以在發生超時錯誤和 CRC 錯誤時降低傳送模式(從較快的 DMA 模式到較慢的 DMA 模式,最終降為 PIO 模式)。以前的情況是,在每當累積發生的超時錯誤或 CRC 錯誤的總數達到 6 次時,IDE/ATAPI 連接阜驅動程式 (Atapi.sys) 將降低傳送模式。當我們建立以上註冊表鍵值實現新的原則後,Atapi.sys 僅在連續發生 6 次超時錯誤或 CRC 錯誤後才降低傳送模式。
這一新的原則實現後將大大降低系統降低或關閉DMA傳送模式的機會。現在我們可以安心地使用掛起系統和高效能的DMA硬碟模式,再也不會發生系統效能突然下降的情況了。
~至 Net School psa0113網友刊載文轉貼~
|