如何查看Windows上文件系统块的大小

来源:互联网 发布:淘宝三木社 编辑:程序博客网 时间:2024/06/05 18:38

引言:

windows上文件系统块,被成为簇。

Oracle官方建议这个参数的大小等于或整倍数与操作系统中的块大小。不仅io性能的原因,也是因为节省存储空间的原因,如果你的oracle块大小是操作系统块大小的1.5倍,比如操作系统块大小为2k,那么oracle每次存放一个Oracle数据块的数据(即3k数据)时,对应在操作系统级别上需要用两个操作系统数据块来存放为这一个Oracle数据块的数据(即3k数据)。这样实际就会浪费1k的空间。Oracle数据块的大小不是操作系统数据块的整数倍时,将会使得数据存放在磁盘时产生过多的零碎空间,减少磁盘可用容量,也将损耗CPU处理资源和硬盘存取速度,影响系统性能。

http://blog.csdn.net/jx_jy/article/details/17225909

http://mhqiang.blog.163.com/blog/static/25279557201231315712431/

操作系统的块大小在windows下可以使用命令fsutil  fsinfo  ntfsinfo  c:进行查看。在linux下可以使用tune2fs  -l  /dev/sda1(文件系统路径)进行查看。

==================================

在ITPUB上有朋友问到这样一个问题:如何查看windows上文件系统块的大小.


其实从Windows Xp开始,Microsoft提供了一个工具fsutil可以用来查看文件系统的块大小,经过这个工具也可以用在Windows 2000平台上:

D:\>fsutil fsinfo ntfsinfo c:
NTFS 卷序列号 :       0x388c89188c88d1b4
版本 :                         3.1
区数量 :                  0x00000000013fe599
簇总数 :                  0x000000000027fcb3
可用簇  :                  0x0000000000011e43
保留总数 :                  0x0000000000000060
每个扇区字节数  :               512
每个簇字节数 :               4096
每个 FileRecord 段的字节数    : 1024
每个 FileRecord 段的簇数 : 0
Mft 有效数据长度 :           0x00000000051cc000
Mft 起始 Lcn  :                  0x00000000000c0000
Mft2 起始 Lcn :                  0x000000000013fe59
Mft 区域起始 :                  0x0000000000221960
Mft 区域结尾   :                  0x000000000022a280

这里的"每个簇字节数" 4096就是Windows上的文件系统块大小。
这个大小可以在格式化时定义,我们从format的命令可以看到Windows上不同文件系统可以使用的块大小:

D:\>format /?
格式化磁盘以供 Windows XP 使用。

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
FORMAT volume [/V:label] [/Q] [/F:size]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]
FORMAT volume [/V:label] [/Q]
FORMAT volume [/Q]

volume 指定驱动器(后面跟一个冒号)、装入点
或卷名。
/FS:filesystem 指定文件系统类型(FAT、FAT32 或 NTFS)。
/V:label 指定卷标。
/Q 执行快速格式化。
/C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上
创建的文件。
/X 如果必要,先强制卸下卷。那时,该卷所有
已打开的句柄不再有效。
/A:size 替代默认配置单位大小。极力建议您在一般状况下使用
默认设置。
NTFS 支持 512、1024、2048、4096、8192、16K、32K、
64K。
FAT 支持 512、1024、2048、4096、8192、16K、32K、
64k,(128k、256k 用于大于 512 字节的扇区) 。
FAT32 支持 512、1024、2048、4096、8192、16k、32k、
64k,(128k 、256k 用于大于 512 字节的扇区)。

注意 FAT 及 FAT32 文件系统对卷上的群集数量有以下限制:

FAT: 群集数量 <= 65526
FAT32: 65526 < 群集数量 < 4177918

如果判定使用指定的群集大小无法满足以上需求,格式
化将立即停止。

NTFS 压缩不支持大于 4096 的分配单元。

/F:size 指定要格式化的软盘大小(1.44)
/T:tracks 为磁盘指定每面磁道数。
/N:sectors 指定每条磁道的扇区数。

当然更简单,通过在文件系统上创建一个小文件,观察其分配空间也可以得到系统最小的IO分配单元:

-The End-


============================================================================



Windows下查看文件簇大小最快的方法



windows在cmd命令行下使用chkdsk可以查看当前文件系统的簇大小(windows上面叫分配单元)

但运行chkdsk,需要花一定的时间,有点麻烦。

使用下面的方法可快速查看当前文件系统的簇大小:

新建一个文本文档,在里面输一个字符,保存。然后查看该文本文档的属性:



从占用空间就可以看出当前文件系统的簇大小

==========================

怎么查看大小


在Windows系统中,一个文件的大小(字节数)和它在硬盘上(或其他存储介质上)所占的空间是两个既相互联系又有区别的概念。在不同的情况下,同一个文件的“所占空间”会发生变化。   1.“文件大小”与“所占空间”的差别   为了便于大家理解,我们先来看两个例子:   例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。   例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!  显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。   小知识:什么是簇?   文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。   为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。   2.分区格式与簇大小   在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,其对应关系如表1所示。   笔者的软盘采用FAT分区,容量1.44MB,簇大小为512 Byte(一个扇区);C盘采用FAT 32分区,容量为4.87GB,簇大小为8KB;D盘采用FAT 32分区,容量为32.3GB,簇大小为32KB。计算文件所占空间时,可以用如下公式:   簇数=取整(文件大小/簇大小)+1   所占空间=簇数×磁盘簇大小   公式中文件大小和簇大小应以Byte为单位,否则可能会产生误差。如果要以KB为单位,将字节数除以1024即可。利用上述的计算公式,可以计算ersave2.dat文件的实际占用空间。   3.轻松查看簇大小   ①用Chkdsk查看簇大小   在Windows操作系统中,我们可以使用Chkdsk命令查看硬盘分区的簇大小。例如我们要在Windows XP下查看C盘的簇大小,可以单击“开始→运行”,键入“CMD”后回车,再键入“C:”后回车,然后输入“Chkdsk”后回车,稍候片刻从它的分析结果中,我们就可以得到C盘的簇大小,不过它把簇称之为“分配单元”或者“Allocation unit”。 ②用PQ Magic等磁盘工具来检测  很多磁盘工具都具备磁盘信息显示等功能。例如在PQ Magic中,选择要查看的磁盘分区,然后单击右键选择“高级→调整簇大小”功能,即可从显示的对话框中可以看到该磁盘当前设置的簇大小。③手工查看   手动创建一个100字节以下的文本文档。然后将该文件复制到欲查看簇大小的磁盘分区中,在Windows下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小。



参考:

windows 簇  谷歌


0 0