基本我Linux下一直用的是reiserfs,那大概是從有一次剛開始用linux不久時的突然斷電開始的。那次沒有正常關機以後,Linux系統就再也啟動不了 了。聽說reiserfs能在斷電以後自動修復,而且速度很快,我就開始了自己的reiserfs旅程。
以前我認為linux的所有的文件系統(ext2,ext3,reiserfs,jfs,xfs等)都沒有碎片,但是遇到了 和windows一樣的情況:剛裝完系統時運行很快,而越用越慢。最近在Arch Linux的論壇上才看到有人說reiserfs有碎片,而且速度比較慢,於是讓我開始懷疑我用了多年的reiserfs,於是也就去查找了一下這文面的 文章。
Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch是一篇最近才寫的在Debian Etch上面對各種文件系統測試的報告,略去一些具體的數據,我把得出的結果放在這裡,以備有同樣需要的朋友參考:
要盡量最大化地使用分區的容量(也就是少浪費空間),請使用ReiserFS, JFS 或 XFS。
想快速地創建文件系統和快速地掛載分區,請使用 JFS 或 XFS
需要對大文件快速操作,請使用 JFS 或 XFS,若想最小化CPU使用量,JFS會更好。
對於大的目錄樹,使用EXT3或者XFS。有人建議對於大量小文件使用ReiserFS比較好好,不好對於由10KB到5MB之間的不同大小文件組成的目錄樹,使用XFS或ext3在現時中會更快一些。JFS雖然能最小化cpu占用率,不過在速度上還是有些慢。
列出目錄中的內容和在某一特定的目錄樹下搜索,有兩種情況。(1) 更快但是cpu使用率更高(ReiserFS,XFS);(2)慢一些但是低cpu 使用率(ext3,JFS)。XFS是一個很好的折中,它有比較快的速度,適度的cpu占使用率和可接受范圍的頁錯誤。
結論:ext3浪費過多的空間而且格式化比較慢;ReiserFS掛載時間長,而且對於日常操作會產生比較多的頁錯誤;JFS是CPU占用率最低的。XFS應該是用來作家用和小型商用文件服務器綜合起來看最合適的文件系統,因為:
它能最大化地使用分區。
它是創建,掛載和卸載最快的。
它是對於500MB以上大文件操作最快的。
它是對於中小文件操作第二快的
它在對於大的目錄樹的搜索的時間和cpu使用率間找到了一個比較好的平衡點。
它不是cpu使用率最使的但是占用的系統資源在比較老的機子上也是可以接受的。
當然,對於日常應用來說鑒於XFS的速度和可伸縮性,它也是最佳的選擇。