電腦碎片

電腦碎片

電腦碎片即磁碟碎片,磁碟碎片應稱為文件碎片,文件被分散保存到整個磁碟的不同地方,而不是連續地保存在磁碟連續的簇中形成的。應用程序所需的物理內存不足時,一般操作系統會在硬碟中產生臨時交換文件,用該文件所佔用的硬碟空間虛擬成內存。虛擬內存管理程序會對硬碟頻繁讀寫,產生大量的碎片。瀏覽器瀏覽信息時生成的臨時文件或臨時文件目錄也造成系統中形成大量的碎片。一般不會在系統中引起問題,但過多會使系統在讀文件的時候來回尋找,引起系統性能下降,嚴重的還要縮短硬碟壽命。過多的磁碟碎片還有可能導致存儲文件的丟失。

產生原因


在磁碟分區中,文件會被分散保存到磁碟的不同地方,而不是連續地保存在磁碟連續的簇中。又因為在文件操作過程中,Windows系統可能會調用虛擬內存來同步管理程序,這樣就會導致各個程序對硬碟頻繁讀寫,從而產生磁碟碎片。

磁碟讀寫原理


知道了磁碟碎片 的產生原因之後,我們還有必要了解一下程序運行時磁碟的讀寫動作。一般運行一個程序時,磁碟驅動器磁頭所做的工作是先搜索該程序運行必需的文件,然後讀取數據,最後做讀後處理——將數據傳送至磁碟高速緩存(Cache)和內存中。搜索時間在硬碟性能指標中被稱為平均尋道時間(Average seek time),單位為毫秒(ms),目前主流硬碟的平均尋道時間小於9.5ms。如果能將應用程序的相關文件放在磁碟的連續空間內,磁頭搜索的時間將會減少很多。讀取時也是如此,磁碟讀取位於磁頭下方扇區的數據所需時間僅為將磁頭移到另一地點再讀取相同數據所需時間的五分之一。讀盤時,系統先檢查數據是否在高速緩存中,如果有則直接讀取;如果沒有則訪問磁碟,也就是讀盤。當需要多次讀取同一份數據時,Cache的作用很大,但對於第一次讀取某個文件,Cache就無能為力了。於是搜索時間和讀取時間在很大程度上影響著程序執行的效率。
為何要整理磁碟 Windows系統並不能自動將每個文件按照最大程度減少磁頭搜索時間的原則放到磁碟上最合適的位置。於是Microsoft在Windows中加入了“Disk Defragment”(磁碟碎片整理程序),並提供了“TaskMonitor”(任務監視器)來跟蹤程序啟動過程中的磁碟活動,以利於“Disk Defragment”能夠更有效地工作。“TaskMonitor”是隨Windows啟動而自動運行的(當然要在“啟動”中選中“TaskMonitor”)。當載入某個應用程序時,它通過監視磁碟的訪問動作來了解該程序啟動時搜索和調用的文件,對所需文件進行定位,並將監視結果儲存在“C:\Windows\Applog”隱藏目錄中。這個目錄中的大多數文件以“.lgx”為擴展名,其中“lg”代表記錄文件(Log File),“x”表示盤符,如D盤程序就以“.lgd”為擴展名;記錄文件的文件名為TaskMonitor所監視的應用程序的文件名,如E盤上的WinZip程序記為“Winzip32.lge”。用戶進行磁碟碎片整理時,該程序會根據Applog目錄中的信息把應用程序的相關文件移動到磁碟上的連續空間內。
pplog目錄中的APPLOG.ind文件就記錄了應用程序運行的次數。用戶需要將常用軟體多次啟動,接受TaskMonitor的監視和記錄,再使用Disk Defragment進行整理,才能真正實現程序啟動速度的提高。但如果用戶中途改變了常用軟體,比如以前常用WinZip,現在改用ZipMagic,那麼在相當長的時間內Disk Defragment還是先把與WinZip相關的文件移到連續的空間內,而不是ZipMagic,除非ZipMagic的載入次數超過WinZip。要解決這個問題,用戶可將“Winzip32.lgx”文件刪除,記錄文件不存在了,Disk Defragment也就不會去優化它了。

整理硬碟原則


實際上,定期整理硬碟應該是毫無疑問的。如果說硬碟碎片整理真的會損害硬碟的話,那也將是在對硬碟進行近乎天文數字般次數的整理之後。
硬碟使用的時間長了,文件的存放位置就會變得支離破碎——文件內容將會散布在硬碟的不同位置上。這些“碎片文件”的存在會降低硬碟的工作效率,還會增加數據丟失和數據損壞的可能性。碎片整理程序把這些碎片收集在一起,並把它們作為一個連續的整體存放在硬碟上。Windows自帶有這樣的程序:磁碟碎片整理程序(DiskDefragmenter),但在工具軟體NortonUtilities和Nuts&Bolts中有更好的此類程序。
然而,碎片整理對硬碟里的運轉部件來說的確是一項不小的工作。如果硬碟已經到了它生命的最後階段,碎片整理的確有可能是一種自殺行為。但在這種情況下,即使您不進行碎片整理,硬碟也會很快崩潰的。
實際上在大多數情況下,定期的硬碟碎片整理減少了硬碟的磨損。不管怎麼說,讓硬碟的磁頭從1處讀取文件總比從8處讀取要容易得多。因此,一個每兩周或四周整理一次的硬碟的壽命應當比一個永遠不整理的硬碟長。
整理前的準備工作
我們在整理硬碟前一般都要對它清理垃圾信息,檢查有無錯誤,最後才能談到碎片的整理和優化。因此,我們在整理硬碟前,應該首先做好這些工作:
1、應該把硬碟中的垃圾文件和垃圾信息清理乾淨。系統工作一段時間后,垃圾文件就會非常之多,有程序安裝時產生的臨時文件、上網時留下的緩衝文件、刪除軟體時剩下的DLL文件或強行關機時產生的錯誤文件等,建議“菜鳥”朋友還是使用微軟的“磁碟清理程序”代勞,“老鳥”當然可以使用一些功能更強的軟體或手工清理。
2、檢查並修復硬碟中的錯誤。首選的仍然是微軟的“磁碟掃描程序”,雖然它的速度實在不怎麼樣,但只要你有足夠的耐心,經過這個程序對磁碟完整而詳細的掃描后,相信系統中的絕大多數錯誤已經被修復了。當然你也可以嘗試一下其他工具,如扁鵲神醫“Norton WinDoctor”,它的速度可比Windows中的“磁碟掃描工具”快多了。
整理方法及注意
在Windows里,用戶可以從“開始”菜單中選擇“程序/附件/系統工具/磁碟碎片整理程序”,彈出選擇驅動器窗口,選擇要整理的分區,然後點擊[確定]即可開始整理,但此方法碎片整理過程非常耗時,一般2GB左右的分區需要1個小時以上,所以建議讀者:
1、整理磁碟碎片的時候,要關閉其他所有的應用程序,包括屏幕保護程序,最好將虛擬內存的大小設置為固定值。不要對磁碟進行讀寫操作,一旦Disk Defragment發現磁碟的文件有改變,它將重新開始整理。
2、整理磁碟碎片的頻率要控制合適,過於頻繁的整理也會縮短磁碟的壽命。一般經常讀寫的磁碟分區一周整理一次。
如何快速地整理磁碟碎片
每次需要整理磁碟碎片時都需要選擇“開始”*“程序”*“附件”*“系統工具”*“磁碟碎片整理程序”,然後再指定驅動器,很麻煩。能否有簡單的方法完成這一系列操作?
在Windows資源管理器中,選擇“查看”*“文件夾選項”(或“查看”*“選項”),選擇“文件類型”選項卡,並在“已註冊的文件類型”列表中選擇“驅動器”。單擊“編輯”按鈕,打開“編輯文件類型”對話框,選擇“新建”,在“操作”欄中,鍵入“快速整理磁碟碎片”。在“用於執行操作的應用程序”欄中鍵入“C:\Windows\defrag.exe "%1" \noprompt”。
單擊“確定”,然後“關閉”,回到“文件類型”選項卡,然後單擊“關閉”。現在,打開“我的電腦”,右鍵單擊想要整理磁碟碎片的驅動器,在彈出的快捷菜單中選擇“快速整理磁碟碎片”即可

掃描程序參數


命令參數在 DOS時代可以說是一項基本的技能,很多程序都要靠命令參數來啟動,而到了圖形化界面時代,已很難再見到其蹤跡,但它卻實實在在地存在著,而且發揮著不小的作用。如很多 Windows遊戲的設置程序就是用 /Setup 參數來實現的。通常我們不會太留意某些程序的命令參數,但他們往往包含著某些隱秘的功能,如果運用適當對你很有幫助。
Windows 中的磁碟掃描程序就包含著許多命令參數,你可以在MS_DOS方式下或在“運行”對話框中實現,如果需要經常用命令參數,還可以建立一個快捷方式。
/SILENT 啟動磁碟掃描程序不允許作任何選項設置和高級設置。
/A 檢查所有的本地硬碟
/N 自動啟動和退出磁碟掃描程序
/P 防止磁碟掃描程序修復所發現的錯誤
X: X 表示指定要檢查的驅動器號(不需要 / 的命令參數)
舉例:
1)檢查驅動器 E 並自動啟動和退出磁碟掃描程序
SCANDSKW E: /N
2)檢查所有的硬碟並防止磁碟掃描程序修複發現的任何錯誤
SCANDSKW /A /P
運行過其他文件整理程序怎麼辦
當運行了其他磁碟文件整理程序(如WinAlign)后,它可能擾亂了TaskMon記錄的數據,若此時直接進行碎片整理,可能會得不償失,達不到優化性能的目的。解決的辦法是在進行碎片整理之前,多次運行Windows和自己最常用的程序,這樣可以讓TaskMon重新收集到正確的統計數據,指導進行磁碟優化。
最後,當啟動Windows98的磁碟碎片整理程序時,可能會詫異界面中的Intel標誌。為什麼處理器的生產廠商會參與編寫這個優化磁碟的軟體呢?這是因為硬碟尋道時間的緩慢會導致系統整體性能的下降,這樣會有損CPU超級計算能力的形象,讓人誤以為是CPU性能的低下。Microsoft的一個測試表明,在奔騰233的機器上啟動Windows僅僅比奔騰150快3%,也就是說,快速的CPU並不能克服磁碟延遲的缺點。於是,在共同利益的驅動下,Intel和Microsoft聯合開發了Windows98的磁碟碎片整理程序,用來消除硬碟尋道緩慢的瓶頸。