天天看点

Linux磁盘Block Size研究备忘

     今天有个同学问了我一下关于之前442学到的磁盘方面的问题,过了几个月我也蒙了。拿出了计算器放出了狗才终于明白了,看来有必要留下点记录,真的容易忘啊。

    先后看了三篇文章,第一篇http://space.itpub.net/22161612/viewspace-670306,里面又引用了两篇文章。http://www.linuxforums.org/forum/miscellaneous/5654-linux-disk-block-size-help-please.html和http://blog.chinaunix.net/u1/33824/showart_408296.html。

    现在终于明白点了,给自己来个小结:

磁盘里面的和文件系统里面的两个都叫block size但是大小是不一样的,磁盘里面一般都是512bytes,文件系统里面的不一定也是512bytes。

举例说明:

Disk /dev/sda: 160.0 GB, 160040803840 bytes

255 heads, 63 sectors/track, 19457 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          25      200781   83  Linux

红色的是磁盘里面的一个block的大小,蓝色的是文件系统里面的block的个数。

红色的是1block=512byes  蓝色的是1block=1024bytes

文件系统里面的用#tune2fs -l /dev/sda1|grep Block可以看到一个block是多大。

犯晕时:

sda1的大小:25*8225280/1024/1024=196MB    200781*512/1024/1024=98MB    少一半囧了。

明白之后:

#tune2fs -l /dev/sda1|grep Block

sda1的大小:25*8225280/1024/1024=196MB    200781*1024/1024/1024=196MB   对上了 。

亏了还学过442,blocak size调优的时候会用到,还是弄明白的好。

 2011年3月18日:

#df -H  能显示正确大小  磁盘用1000而不是1024

本文转自 sharkyan 51CTO博客,原文链接:http://blog.51cto.com/sharkyan/415932,如需转载请自行联系原作者

继续阅读