NTFS和FAT文件系統中的尺寸限制及NTFS性能優化 每個文件系統都支持一個最大的捲尺寸,文件尺寸,已經每卷可容納的文件最大數量。因為 FAT16 和 FAT32 分別支持 4GB 和 32GB 的卷,要創建大於 32GB 的卷,就必須使用 NTFS 格式。如果在多系統共存的計算機中使用 FAT16 或 FAT32 格式,就必須對其尺寸限制有所瞭解:
一、小於 16MB 的 FAT 卷會被格式化為 FAT12 格式
二、使用 MS-DOS,Win95,Win98,WinMe,以及其它很多操作系統的計算機,其 FAT16 卷如果超過 2GB 就不可訪問了。這個 2GB 的限制是由於這些操作系統不支持超過 32KB 的磁區。
三、理論上說,FAT32 卷可以達到約 8TB;而實際上,WinXP Professional 可以格式化的最大 FAT32 卷也就是 32GB 而已。所以,必須使用 NTFS 格式來格式化超過 32GB 的卷。但,WinXP Pro 可以讀寫用其它操作系統格式化的更大的 FAT32 卷。
四、如果要建立包含多個物理磁盤的卷,例如跨區卷和帶區卷,那麼卷的大小就取決於每塊磁盤上所使用了的空間。在多物理磁盤上創建大於 32GB 的卷,仍然要使用 NTFS 格式。
有關 FAT16 和 FAT32 的更多信息,參見「FAT 文件系統」。
NTFS 捲上的最大尺寸
理論上,NTFS 的最大卷包含 264減 1 個磁區。實際上,WinXP Pro 中,NTFS 卷的最大限制是 232減 1 個磁區。舉例來說,如果是 64KB 的磁區,那 NTFS 卷的最大尺寸就是 256TB 減 64KB 這麼大。如果使用默認的 4KB 磁區,NTFS 卷的最大尺寸就是 16TB 減 4KB 這麼大了。
由於主引導記錄(MBR)中分區表的限制,硬盤僅僅支持最大 2TB 的分區。要超過這個限制,必須建立 NTFS 的動態卷。Windows XP Professional 使用了一種有別於分區表的特殊的資料庫來管理動態卷,這就是動態卷可以超過在分區表中 2TB 限制的原因。動態 NTFS 卷可以達到 NTFS 支持的捲尺寸的最大限制。使用 GUID 分區表的安騰計算機也可以支持超過 2TB 的 NTFS 卷。
如果在一個 NTFS 文件夾中包含了大量的(300,000 或更多)的文件,請禁止生成短文件名,特別是當長文件名的前 6 個字符相近的時候。詳見後續譯文「NTFS 性能優化」。
NTFS 性能優化
NTFS 的性能受很多因素影響,比如磁區的大小,磁盤碎片的多少,以及象反病毒軟件等應用程序的使用情況等等。此外,NTFS 的一些特性,如壓縮和索引服務同樣可能影響其性能。可以通過下面的一些方法來優化 NTFS 的性能。
磁區的大小
在格式化一個 NTFS 卷之前,你首先要對自己要保存在該捲上的文件的類型做一個評估,以便決定是否使用默認的磁區大小。即,重要的是先回答:
如果大部分文件都小於默認磁區的大小(比如 4KB)並且都保持文件尺寸不變,使用默認磁區大小將減小磁盤空間的浪費。因為,此時磁區的尺寸變小將增加碎片產生的可能,尤其當這些(4KB 左右)的文件佔用了超過一個磁區的空間的時候。所以這時候可以在格式化卷的時候對磁區的大小做相應的設定。如果要存儲的文件會比較大,或者尺寸可能會增大,就該用 16 或 32KB 的磁區來替代 4KB 的磁區。
注意:壓縮功能只在 4KB 或更小的磁區為基本存儲單位的捲上才可以實現。
在 Windows2000 或更早版本的 windows 產品中從 FAT 到 NTFS 轉換的時候也可能影響磁區的大小。因為,被轉換的卷,磁區的大小是 512 byte,主文件表(MFT)也很可能在轉換過程中產生碎片。作為優化性能的考慮,應該備份該卷的所有資料,重新格式化該卷,並在格式化的過程中指定磁區的尺寸,然後再恢復資料。
如果想進一步瞭解對磁區的尺寸選擇的相關知識,請參考本章前面講過的「磁區尺寸」內容。
短文件名
每當建立一個長文件名的文件時,NTFS 就會自動產生一個類似 8-3 短文件名的備份條目。8-3 短文件名即用 8 個字符表示文件名,3 個字符表示文件的擴展名,文件名和擴展名之間用一個句點隔開。
如果在一個文件夾中包含了非常多(例如 300,000 個或更多)的文件,而且所有文件都採用了長文件名規則命名並且初始的字符都相同,那麼建立這些文件所需的時間就要增多。這是由於 NTFS 是根據長文件名的前 6 個字符來建立短文件名索引的。在多於 300,000 個文件的一個文件夾中,由 NTFS 用 8-3 規則建立文件名相似的長文件所對應的短文件名備份時會產生衝突。這種在建立新的短文件名時和已經存在的短文件名之間的衝突,會使 NTFS 在建立新文件的時候,所耗費的時間是沒有這種衝突時的 6 到 8 倍。
要減少這種在建立新文件時所耗費的時間,可以在命令提示符下使用 fsutil behavior set 這個命令來禁用 8-3 規則以優化文件系統性能。詳見本章最後部分:「在 NTFS上建立 MS-DOS-可讀取的文件名」。
如果既要讓 NTFS 使用 8-3 命名規則建立文件名備份,又要提高其系統性能,可以通過建立命名規劃,使長文件名在文件名的開始而不是在結尾來體現文件名的不同。詳見「WindowsXP Professional 中的文件名」一節。
文件夾結構
NTFS 支持在每個捲上有大量文件和文件夾的多個卷的存在,由使用者來組織文件夾結構以達到最優化的工作表現。在決定一個文件夾的結構時,下面幾點是要考慮到的:
如果要頻繁和快速地建立、刪除、打開和關閉其中的文件,就要盡量避免把大量文件放入一個文件夾內。最好的解決方案就是把它們分門別類地放到幾個子文件夾中去,這樣才能條理清晰地分配自己的工作量。
要是文件之間沒有彼此的關聯,無法放到幾個邏輯上有關聯的文件夾中去,那就應該禁用 8-3 文件名的生成。而如果的確需要 8-3 文件名(譯者註:例如在 dos 下兼容的需要),提前制訂自己的命名計劃,使長文件名的前 6 個字符不盡相同。
關鍵點
文件夾越大,運行 chkdsk.exe 命令所需的時間越長。詳見「磁盤與文件系統常見問題集」。 反病毒程序
反病毒程序在系統之上掃瞄病毒,就像撐起了一個保護傘,這也影響到文件系統的性能。這種影響對不同的殺毒軟件來說也不一樣。在評價殺毒軟件的時候,要看哪一個軟件在進行基線測試的時候對系統環境影響最小。眾多反病毒軟件都提供了隨用戶意願來自定義軟件運行參數的調節選項以降低對操作系統性能的影響。
壓縮功能
壓縮功能同樣增加了系統的額外開銷。即使在同一計算機內拷貝文件的時候,壓縮文件系統也要經歷一個解壓縮、拷貝、重壓縮為新文件這樣一個過程。詳見本章前面的小節「文件壓縮」。
最近訪問時間
NTFS 捲上的每個文件和文件夾都有一個屬性,就是「最近訪問時間」(LAT),這個屬性表明了該文件或文件夾的最後訪問時間。比如當某用戶打開文件夾列表,在文件夾中添加文件,讀取一個文件,或者對某文件進行更改的時候,都會改變這個屬性。LAT 是存儲在內存中並最終在磁盤的兩個地方完成寫入:
一、MFT 記錄中文件屬性的部分
二、該文件的目錄項中。目錄項存儲在包含該文件的文件夾中,包含多個物理連接的文件(譯者理解:文件在空間上的物理存儲是不一定連續的,可能有多個物理片段,每個片段稱為一個「連接」)也就有多個目錄項。
磁盤上已經存在的 LAT 並不總是最新的,這是由於 NTFS 每隔一個小時才將在內存中打開的文件的該屬性保存一次。在用戶或應用程序對文件進行只讀操作的時候,NTFS 也會延後「最後訪問時間」屬性的寫入,比如在列文件夾目錄或者讀取(但不是更改)文件夾中的一個文件的時候。如果對於「讀」操作, LAT 屬性也要保持最新的話,所有的「讀」操作就變成了「寫」操作,這對 NTFS 的性能是影響很大的。
基於文件屬性的 LAT ,即使它的所有在當前存儲於磁盤上的值完全不正確,也無關緊要。NTFS 會隨時將磁盤上的可疑屬性值用內存中存儲的精確值來替換。
NTFS 最終會在下列位置,將內存中的 LAT 存儲到磁盤上。
在文件的屬性中
如果當前內存中的 LAT 和上次保存在硬盤上的 LAT 有一個小時的時差,或者內存中對該文件的所有進程都結束的時候,NTFS就會對該文件的 LAT 屬性進行更新。例如,如果當前一個文件的 LAT 是 1:00 P.M.,而你在 1:30 P.M. 又讀取了該文件,NTFS 不會更新該 LAT。而如果你又在 2:00 P.M. 的時候再次讀取該文件,NTFS 會把該文件的 LAT 屬性更新到 2:00 P.M.,因為此時該文件的 LAT 存儲屬性為 1:00 P.M. 而內存中的屬性為 2:00 P.M.。
在文件的目錄項中
在下列事件發生時,NTFS 更新目錄項:
當 NTFS 更新文件的 LAT 的時候,檢測到該文件的 LAT 比在目錄項中存儲的 LAT 差別在一個小時以上的時候。這種更新最為典型地發生在當某個應用程序關閉在文件夾中用於訪問該文件的句柄的時候。如果該程序延長該文件句柄的打開時間,就會在更新目錄項的時候出現遲滯。
當 NTFS 更新其它的文件屬性比如「最近更改時間」(LMT),而 LAT 的更新未決的時候。在這種情況下,NTFS 會在不影響系統性能的前提下,隨其它屬性的更新而更新 LAT。
傳承科技資料救援中心
電話::( 02 ) - 2885 - 2078
行動:0937-140949 , 0937093874 統一編號:29072143
E-mail:Radius@Livemail.tw http://www.radius.tw
0 回應:
張貼留言