歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux要不要碎片整理?不要

Linux要不要碎片整理?不要

日期:2017/2/28 17:37:48   编辑:Linux教程
所有的操作系統都會產生磁盤碎片。這個碎片在官方資料中稱為內部碎片。它是這樣產生的,假設一個磁盤的空間有20k,它的基本存儲單位為簇,設有兩個文件,一個7k,一個1k。當簇的大小為4k時,磁盤分為了5個簇,兩個文件共占用3個簇,即使用了12k,其中浪費地空間就是4k,也就是產生了內部碎片4k。因此:內部碎片主要是造成磁盤空間的浪費。請注意:windows的磁盤碎片整理功能所整理的碎片不是這個碎片,也無法對這個碎片進行操作,它所對應的碎片概念是外部碎片。

  那麼,可以對內部碎片進行優化處理嗎?答案是肯定的。以上面的例子來說,如果把每一簇分成2k,那麼20k的磁盤就分為了10個簇,7k和1k兩個文件共占用了5個簇,10k的空間,浪費的空間,即內部碎片為2k。

  由此可見,簇分的越小,所浪費的空間越少。這也是NTFS比FAT32優秀的一個地方。在Win 2000的FAT32文件系統的情況下,分區大小在2GB~8GB時簇的大小為4KB;分區大小在8GB~16GB時簇的大小為8KB;分區大小在 16GB~32GB時,簇的大小則達到了16KB。而Win 2000的NTFS文件系統,當分區的大小在2GB以下時,簇的大小都比相應的FAT32簇小;當分區的大小在2GB以上時(2GB~2TB),簇的大小都為4KB。相比之下,NTFS可以比FAT32更有效地管理磁盤空間,最大限度地避免了磁盤空間的浪費。

  那麼為什麼文件系統不是把簇分的非常的小呢?這裡就引出了另一個問題,文件訪問查找的問題。還是以上面的例子說明,當我們要查找使用一個文件時,就需要通過頁表來進行訪問。打個比方,你住的地方就好比是文件所占用的簇,但是要找到你,就得通過你的住址來進行訪問,而訪問文件則是通過文件分配表。如果住的人多,地址也就很多,那麼要查到你住的地址所花的時間也就很多。同樣的道理,當簇分的越小,記錄簇的地址也就越大,查找文件所在的簇所花的時間也就越多。當簇為4k時,簇的地址是5個,而簇為2k時,簇的地址是10個。因而簇的大小是在空間和時間上取得平衡的一個結果。

  這裡也對另一個問題作一些提示,有些第三方分區軟件可以自定義簇的大小,建議采用默認值,否則會在某些情況下產生一些問題。
Copyright © Linux教程網 All Rights Reserved