LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: tmcco

一个Linux下的文件系统碎片整理工具

[复制链接]
发表于 2007-4-14 20:05:30 | 显示全部楼层
即便产生了碎片,碎片整理能带来什么好处?
回复 支持 反对

使用道具 举报

发表于 2007-4-14 22:30:30 | 显示全部楼层
按照前面楼主的理论,只有磁盘剩余空间不足以对文件的写入提供连续空间时才会产生碎片吧
只要剩余空间足够,文件系统仍然使用连续的空间,不会产生碎片

另外,fat32的8k一个簇是没错,但是使用的簇是不是紧密排列的呢,如果是的话,当在fat文件系统上删除文件再新建文件,他会使用刚删除留出的空间,这才是造成fat文件系统碎片的原因阿
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-15 15:57:22 | 显示全部楼层
Post by x11
按照前面楼主的理论,只有磁盘剩余空间不足以对文件的写入提供连续空间时才会产生碎片吧
只要剩余空间足够,文件系统仍然使用连续的空间,不会产生碎片

另外,fat32的8k一个簇是没错,但是使用的簇是不是紧密排列的呢,如果是的话,当在fat文件系统上删除文件再新建文件,他会使用刚删除留出的空间,这才是造成fat文件系统碎片的原因阿

实践是检验真理的唯一标准。

在ext3默认模式下,一个1GB的分区,测试的数据集合大约是500MB,即空间占用率约50%,磁盘剩余空间很多。但是实验表明:测试结束后文件碎片率达到约23%,性能下降至开始时的约60%,碎片整理后文件碎片率降至约13%,性能恢复至开始时的约90%。

相应的测试脚本和样本文件在这里:
脚本 http://defragfs.sourceforge.net/frags.tar.bz2
样本 http://defragfs.sourceforge.net/fpass.tar.bz2
回复 支持 反对

使用道具 举报

发表于 2007-4-15 20:16:52 | 显示全部楼层
对于桌面用户来说 根本没必要...
即使长期使用ext2 也没必要...

linux文件系统是会产生碎片的 但是只要磁盘的可用空间不低于20% 碎片会控制在一个可容忍的数量内 根本不会象fat那样严重影响性能 即便linux计算机性能会因为碎片而下降 我想这点性能的下降对于桌面用户来说是微不足道的
回复 支持 反对

使用道具 举报

发表于 2007-4-16 00:19:24 | 显示全部楼层
嗯,个人用户仔细想一想,你真的有必要把300G的硬盘全占满吗?在DVD刻录如此廉价的今天,实在不知道个人用户有什么理由在硬盘上保留300G的数据。

如果是企业用户,更没道理了──硬盘是多么廉价啊,而且还可以使用磁盘柜。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-17 13:51:29 | 显示全部楼层
Post by 軒轅.子
对于桌面用户来说 根本没必要...
即使长期使用ext2 也没必要...

linux文件系统是会产生碎片的 但是只要磁盘的可用空间不低于20% 碎片会控制在一个可容忍的数量内 根本不会象fat那样严重影响性能 即便linux计算机性能会因为碎片而下降 我想这点性能的下降对于桌面用户来说是微不足道的

您可能没有看到我上面的结果:


实践是检验真理的唯一标准。

在ext3默认模式下,一个1GB的分区,测试的数据集合大约是500MB,即空间占用率约50%,磁盘剩余空间很多。但是实验表明:测试结束后文件碎片率达到约23%,性能下降至开始时的约60%,碎片整理后文件碎片率降至约13%,性能恢复至开始时的约90%。


请注意这里的磁盘的可用空间为50%。您是否认为23%的碎片率可以容忍?您是否认为性能下降到60%是微不足道的?

另外,我有一个Windows2000的FAT32分区已经使用约一年,空间使用率为80%,其碎片率仅仅是3.73%,这是一个非常严重的数字吗?
Statistics for /mnt/tmp
Total Files:                    93694
Fragmented Files:               3498
File Fragmentation Rate:        3.73343010224774%
Avg File Fragments(1 is best):  1.12146989134843
Most Fragmented Files(for details see /tmp/frags-result-before):
/mnt/tmp/Game/Homeworld (Osloskop Net).iso: 1177 extents found
/mnt/tmp/Game/Homeworld_Cataclysm.(PC).(osloskop.net).iso: 1162 extents found
/mnt/tmp/winnt/system32/config/software: 729 extents found
/mnt/tmp/Game/Quest.Toad.For.Oracle.Xpert.v8.5.3.Final(2).zip: 344 extents found
/mnt/tmp/winnt/system32/config/system.alt: 289 extents found
/mnt/tmp/pagefile.sys: 252 extents found
/mnt/tmp/winnt/system32/config/system: 236 extents found
/mnt/tmp/Game/Talk.ISO: 217 extents found
/mnt/tmp/Program Files/Oracle/jre/1.3.1/lib/rt.jar: 161 extents found
/mnt/tmp/Documents and Settings/Administrator/ntuser.dat: 110 extents found
You do not need a defragmentation!
回复 支持 反对

使用道具 举报

发表于 2007-4-17 14:13:50 | 显示全部楼层
tmcco 的头像是艾滋病毒吗?:p
回复 支持 反对

使用道具 举报

发表于 2007-4-17 18:24:15 | 显示全部楼层
你好专业啊!
回复 支持 反对

使用道具 举报

发表于 2007-4-17 20:16:39 | 显示全部楼层
Post by tmcco

在ext3默认模式下,一个1GB的分区,测试的数据集合大约是500MB,即空间占用率约50%,磁盘剩余空间很多。但是实验表明:测试结束后文件碎片率达到约23%,性能下降至开始时的约60%,碎片整理后文件碎片率降至约13%,性能恢复至开始时的约90%。


请注意这里的磁盘的可用空间为50%。您是否认为23%的碎片率可以容忍?您是否认为性能下降到60%是微不足道的?

我用的是ext3,开了full journal的,gentoo,常emerge --sync和emerge -e world(以前最频繁时达到半星期一次),相当于常常进行长时间大批量的删除和安装软件操作,一次emerge -e world就达5小时,/有3G,使用空间1.2G,从全新安装系统(fdisk再装)到现在有几个月了,速度是没感觉有什么变化。
我不是学计算机的,但我还对60%的性能减少还是怀疑,对我来说,没有感觉得到的性能变化,对硬盘碎片整理这种涉及到硬盘的大量I/O运行,我也不会进行也许真的有效的优化的。

话说回来,难道我连60%的速度减少都感觉不到。。。

我的/是根据下面的链接还优化的:
http://forums.gentoo.org/viewtopic-t-305871.html
回复 支持 反对

使用道具 举报

发表于 2007-4-18 00:22:33 | 显示全部楼层
我的 ReiserFS 现在慢得出奇 (emerge --sync),看来还是用 ext3 算了,似乎 reiserfs 比较容易出碎片。
奇怪的是我用上面的工具检查 /usr/portage 居然说不用做碎片整理,但我的系统明明已经很慢的了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表