LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4600|回复: 30

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

[复制链接]
发表于 2007-4-13 23:15:06 | 显示全部楼层 |阅读模式
一个Linux下的文件系统碎片整理工具,请参阅:

1, http://sourceforge.net/projects/defragfs
2, http://defragfs.sourceforge.net
发表于 2007-4-14 01:06:22 | 显示全部楼层
真的有用么?
我听说linux的文件系统几乎不需要整理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-14 09:10:19 | 显示全部楼层
Post by x11
真的有用么?
我听说linux的文件系统几乎不需要整理

如果您是这样认为的话,不妨看看这里: http://defragfs.sourceforge.net/theory.html
回复 支持 反对

使用道具 举报

发表于 2007-4-14 10:46:27 | 显示全部楼层
怎么可能不需要整理  这是骗人的~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2007-4-14 11:25:45 | 显示全部楼层
我用的ext3文件系统,只知道一个比较简单方法就可以达到整理文件碎片的目的: cp rm mv

Linux下变动最多的文件无非就是 /tmp, /var, /home 里面的文件,其他地方的文件自从安装好系统后就几乎没有变动。
产生的文件碎片也大多是这几个目录里面的文件,所以只需要对这几个目录的文件进行操作就可以了。
先把这几个目录的文件 cp 到其他分区,然后rm掉这几个目录,再 cp 回来。这样在一定程度上可以减少原来产生的文件碎片,达到碎片整理的目的。
回复 支持 反对

使用道具 举报

发表于 2007-4-14 15:47:32 | 显示全部楼层
这么说的话,经常升级的系统,/下也是有变动的
回复 支持 反对

使用道具 举报

发表于 2007-4-14 17:49:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-4-14 18:08:13 | 显示全部楼层
楼上这篇文章 在linuxer杂志上 曾翻译成中文版本的 我在百度linux贴吧里也转载过 我把这帖子也给你找出来了 不喜欢看英文的就看中文的吧
http://post.baidu.com/f?ct=33567 ... rd=linux#1649517394
回复 支持 反对

使用道具 举报

发表于 2007-4-14 18:53:17 | 显示全部楼层
翻译的不错

不过,
作者:不祥
作者会很郁闷的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-14 19:08:02 | 显示全部楼层

这是一个长久存在的误解,我在 http://defragfs.sourceforge.net/theory.html 里面已经说过了。

1, 首先,您给出的这篇文章其结论是否正确?自己动手验证是最好的:
#dd if=/dev/zero of=./fat32 bs=1048576 count=256
#losetup /dev/loop0 fat32
#mkdosfs -F 32 /dev/loop0
#mount /dev/loop0 /mnt/tmp
#vim /mnt/tmp/111 (随便写一点东西)
#vim /mnt/tmp/222 (随便写一点东西)
#umount /mnt/tmp
#khexedit fat32
khexedit里可以很方便验证,文件的元数据(即File Allocation Table)的确是连续排布的,但是文件的数据是以8KB一块为单位存放的,并不象您给出的这篇文章中所说的紧密存放。事实上,目前能够实现文件数据紧密存放的主流的文件系统只有Reiser3/4。还有一点值得考虑,Windows中主流的文件系统应该是NTFS,其磁盘结构和操作方式于FAT有非常大的不同,FAT只是为了兼容性而存在。

2, 其次,如果您认为紧密排布存储数据将对磁盘碎片造成巨大的影响,不妨看看Reiser4的成绩,其在磁盘占用率达到90%时仍然能够在20次碎片化操作中维持80%左右的速度。

3, 再次,Linux系统中主流的文件系统至少包括ext3/JFS/XFS/Reiser3/Reiser4等等,它们的磁盘组织结构,块分配方式都不相同,因此性能表现和碎片化程度也各不相同。更何况ext3直到今天也不能支持Extent方式分配空间,几乎其它所有主流文件系统都支持这项可以改善磁盘碎片的特性(ext4可能加入支持)。

4, 第四,磁盘空间占用率的降低真的可以减少碎片吗?对于ext2/3来说,40%空间占用率时比90%空间占用率时碎片化对性能的影响大约有10%的改善,其它文件系统则几乎没有改变。

5, 第五,如果您的文件系统是ext3的话,其块大小很可能是4KB,一个文件超过4KB就需要占用多个磁盘块,例如如下的情况:
。。。。。。。。。。(10个空磁盘块,每块4KB)
1 1 2 2 3 3 3 4 5 。(存放了5个文件,剩下1块)
1 1 。。3 3 3 。5 。(删除2和4)
1 1 6 6 3 3 3 6 5 6 (新文件6占用4块,文件6存在3个碎片)
很明显,碎片产生了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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