高龄IT运维工程师
分类: LINUX
2012-02-12 11:55:06
通过以下步骤搞清楚在一个ext2文件系统分区中有哪些类型的文件:
1)使用su命令成为root;进入到ext2分区顶层目录。
2)运行以下命令(实际上,是一个很小的描绘find和awk命令功用的命令行脚本),这个脚本显示了所有文件、文件的大小以及整个分区的大小,包括总体和平均。
find . -type f -exec ls -l {} \; | \
awk 'BEGIN {tsize=0;fcnt=1;}\
{ printf("%03d File: %-060s size; %-060s size: %d bytes\n",fcnt++, $9,$5);tsize +=%5;}\
END{ printf("Total size = %d\nAverage file size = %.02f\n",tsize,tsize/fcnt);}'
3) 知道文件系统的平均大小后,就能决定是否改变块的大小。假定平均文件大小为8192,它是4096的两倍,那么可以将块尺寸调整至4096,使之变小,对于ext2文件系统来说就更便于管理。
4)遗憾的是,无法不通过重建ext2文件系统来改变块的大小。必须将所有文件从文件系统中备份出来,然后通过以下命令实现重建:
/sbin/mke2fs /dev/partition -b 4096
例如:在备份好/dev/hda分区之后,想将块尺寸改变为4096,可以按照以下命令进行:
/sbin/mke2fs /dev/hda7 -b 4096 command
当将块尺寸改变为一个比默认值(1024)大的数目时,可能会由于降低寻道数目而仍以原始的读速度工作,从而获得非凡的效果。这也就意味着,启动过程中fsck命令检查文件系统的速度将更快,而且文件碎片将更少。
但是,盲目地(也就是说,尚未考察平均文件尺寸)提高块尺寸,将导致空间的浪费。例如:如果文件平均尺寸为2010字节,但块大小却是4096字节时,那么一个文件将平均浪费4096-2010=2086字节!因此,在转换块尺寸之前,请事先了解文件尺寸。