上一篇文章《FCP协议使用SCSI指令写文件报文过程分析》中我有提到操作系统OS读写文件都最后都是以block块方式进行读写的,但是我们如何知道我们当前使用的操作系统块大小呢???现在我就分享一下windows和linux两种操作系统中如何查看这个块大小:
1、windows下查看操作系统块大小:
选中一个磁盘分区,比如D盘右键---格式化 就可以在分配单元大小中看到当前的block块大小。
友情提醒:千万不要点击开始,把磁盘格式化掉可不是闹着玩的,数据可就全没了。
2、 linux下查看操作系统块大小:
在linux下查看块大小可以通过如下命令查询:tune2fs -l /dev/sda1 ----要查询的盘符
-
- [root@localhost ~]# tune2fs -l /dev/sda1
- tune2fs 1.41.12 (17-May-2010)
-
- Filesystem volume name: <none>
- Last mounted on: /boot
-
- Filesystem UUID: 9436eb92-adb0-4746-ac2e-3175326d2d29
- Filesystem magic number: 0xEF53
-
- Filesystem revision #: 1 (dynamic)
- Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
-
- Filesystem flags: signed_directory_hash
- Default mount options: user_xattr acl
-
- Filesystem state: clean
- Errors behavior: Continue
-
- Filesystem OS type: Linux
- Inode count: 128016
-
- Block count: 512000
- Reserved block count: 25600
-
- Free blocks: 455941
- Free inodes: 127975
-
- First block: 1
- Block size: 1024
-
- Fragment size: 1024
- Reserved GDT blocks: 256
-
- Blocks per group: 8192
- Fragments per group: 8192
-
- Inodes per group: 2032
- Inode blocks per group: 254
-
- Flex block group size: 16
- Filesystem created: Wed Oct 24 17:59:38 2012
-
- Last mount time: Thu Oct 25 18:35:51 2012
- Last write time: Thu Oct 25 18:35:51 2012
-
- Mount count: 10
- Maximum mount count: -1
-
- Last checked: Wed Oct 24 17:59:38 2012
- Check interval: 0 (<none>)
-
- Lifetime writes: 60 MB
- Reserved blocks uid: 0 (user root)
-
- Reserved blocks gid: 0 (group root)
- First inode: 11
-
- Inode size: 128
- Journal inode: 8
-
- Default directory hash: half_md4
- Directory Hash Seed: e08266d8-918c-4072-95c2-8f9c94b40b53
- Journal backup: inode blocks
上面的信息中block size就是当前的block 大小为4096。
再介绍一下几个参数的作用:
-
- 几个常用的参数
- -c:表示文件系统在mount次数达到设定后,需要运行fsck检查文件系统。
-
- -i:文件系统的检查间隔时间。系统在达到时间间隔时,自动检查文件系统。
- -l:显示文件系统的参数的详细信息。
-
- -j:转换为ext3文件系统。
- -m: 设置保留的空间百分比
- -o: 设置默认加载参数
- -I 设置自检天数
顺便提一下查看系统页的命令:
- [root@localhost ~]# getconf PAGESIZE
- 4096
getconf -a 查看可显示系统很参数值,比如操作系统是几位的,上面的系统页也是在这里显示的。
如何修改系统块大小:
创建文件系统时,可以指定块的大小。如果文件系统中大多是较大的文件,使用较大的块大小将得到较好的性能。如块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,加快fsck扫描的速度和文件删除以及读操作的速度。
在文件系统中,为根目录保留了5%的空间。
块过大虽性能有所提高,但会造成磁盘空间较大的浪费。故需在性能和磁盘的代价上平衡。
如:mkfs.ext3 -b 1024 -i 4096 /dev/sda1 //改变block size,使4个block与1个inode相对应,好处是对大文件来说节省空间,节省inode数量,整个系统所能存储的文件数较多。

2012年10月27日 下午1:50 沙发
呵呵 来看看楼主。