改变ext2文件系统的块尺寸

1165阅读 0评论2012-02-13 桔色花花朵
分类:

通过以下步骤搞清楚在一个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字节!因此,在转换块尺寸之前,请事先了解文件尺寸。

上一篇:迁移至GPT硬盘
下一篇:CodeNavigator -- View source code and navigation in iPad for developer