1."文件大小”与“所占空间”的差别
为了便于大家理解,我们先来看两个例子:

例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。

例2:同样是该文件,将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别不相同了!

显然,在这些情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文 件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。

小知识:什么是簇?
文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起, 形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。
为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实 际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。

2.分区格式与簇大小
在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,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下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小.

以下说明一下文件大小和占用空间大小不同的相关解释:

  首先说明一下,文件的大小和其所占用的空间存在一定的差异是肯定的,这个现象起始的原因就是因为系统的文件和索引,为了方面系统更便捷的管理文件,操作系统使用文件系统对各种文件进行管理(文件系统就是我们经常说的FAT32和NTFS等),文件系统将硬盘分为很多个“簇”以FAT32文件系统为例,fat32文件系统的簇大小是4KB。当我们要存储一个1KB的文件,那么它将占用4KB的空间,要存储2KB的文件,所占用的文件大小也是4KB,而要存储2个2KB大小的文件时,其所占用的空间就为8KB。以此类推。所以,当我们存储非常多的小文件的时候,其所占用的空间就越大,但很可能其实际的文件大小却很小,也就是这个道理。同理,一个文件越大,其占用的空间也就越小。说简单一点,拿仓库做比方,我们有100个仓库,为了好管理和查找,我们可能会把各种不同的物品分别放入不同的仓库,但是这个物品很可能不能填满仓库,那么它仍然也是占用了仓库的所有空间的。那么可能有人问了,为什么不把这个仓库多放东西,好节约空间,但是这样的话很可能你找很久久没有办法找到你所要的东西,其性能就非常低了。同理。

文件大小与占用空间大小不同的原因相关推荐

  1. windows “文件大小”与“占用空间”、文件系统与文件拷贝

    0. 文件大小与占用空间 "文件大小"和"占用空间"的差别 首先需要明确的是,"文件大小"代表着文件的真实大小(文件内容实际包含的全部字节数 ...

  2. 查看磁盘信息命令和查看目录以及文件占用空间大小命令

    记录:313 场景:在CentOS 7.9操作系统,查看磁盘信息命令.查看目录以及文件占用空间大小命令.主要是df.du.lsblk.fdisk.parted.pvdisplay.vgdisplay. ...

  3. 6-Linux查看磁盘、文件剩余或占用空间大小

    Linux查看磁盘.文件剩余或占用空间大小 1.Linux查看文件夹剩余容量空间 2.Linux查看磁盘剩余空间 3.查看文件夹占用空间 4.查看文件个数的一些命令 1.Linux查看文件夹剩余容量空 ...

  4. 转载:Linux命令之查看文件占用空间大小-du,df

    转载自:<du命令>-linux命令五分钟系列之三 du(disk usage),顾名思义,查看目录/文件占用空间大小 #查看当前目录下的所有目录以及子目录的大小 $ du -h $ du ...

  5. 【转】Linux命令之查看文件占用空间大小-du,df

    原文网址:http://blog.csdn.net/wangjunjun2008/article/details/19840671 du(disk usage),顾名思义,查看目录/文件占用空间大小 ...

  6. oracle查询表占用空,Oracle 表的行数、表占用空间大小,列的非空行数、列占用空间大小 查询...

    --表名,表占用空间大小(MB),行数 select table_name, round(num_rows * avg_row_len /1024/1024, 8) as total_len, num ...

  7. java统计空间占用_JVM —— Java 对象占用空间大小计算

    引用类型(reference type: Integer)在 32 位系统上每一个占用 4bytes(即32bit, 才干管理 2^32=4G 的内存), 在 64 位系统上每一个占用 8bytes( ...

  8. mysql 查看所有表的引擎_MySQL查看数据库、表的占用空间大小以及某个库中所有表的引擎类型...

    本文章来给大家介绍一些常用的MySQL查看数据库.表的占用空间大小sql命令吧,希望此教程 对各位同学会有所帮助. 查看各库的大小代码如下复制代码 SELECT SUM(DATA_LENGTH)+SU ...

  9. JVM —— Java 对象占用空间大小计算

    零. 为什么要知道 Java 对象占用空间大小 缓存的实现: 在设计 JVM 内缓存时(不是借助 Memcached. Redis 等), 需要知道缓存的对象是否会超过 JVM 最大堆限制, 如果会超 ...

最新文章

  1. 从计算机视觉(slam)和摄影测量两个维度进行BA算法原理推导
  2. 使用第三方库(Senparc)完成小程序支付 - z
  3. 我们为什么要做数据分析?
  4. 机器学习系统:设计与实现 计算图
  5. Java 设置文件只读
  6. theme为dialog的Activity如何充满全屏
  7. Unity为Mesh指定uv
  8. 存储基本概念与SAN存储
  9. PMP考试教材有哪些?
  10. Opencv3与Opencv2的区别,及opencv2项目移植到opencv3注意事项
  11. windows7共享打印机无法连接0x00000bcb错误怎么解决
  12. JAVA_将数字转换成大写的中文数字
  13. CND的定义,原理和好处和CDN回源
  14. 用EasySysprep封装Win7系统
  15. 同样是路过式,登录与下载攻击区别何在?
  16. GeoServer学习(初学WMS、WCS、WFS、WMTS)
  17. oracle 中YYYY-MM-DD HH24:MI:SS的使用
  18. 服务器2012系统备份方法,服务器2012系统如何备份数据库备份
  19. 神经网络的正向传播和反向传播(转)
  20. 和我一起搭建私有物联网云平台

热门文章

  1. 多多客api_多多进宝API功能更新公告
  2. 饿了么薅羊毛时刻正式开启
  3. 人这辈子应该这样活,极简主义生活方式
  4. 大牛教你8种pcb电路原理图的绘制方法
  5. xshell4连接linux失败_xshell无法连接linux
  6. python生成表格并显示在浏览器_Pyodide:在浏览器端实现Python全栈科学计算
  7. 科学浏览GitHub
  8. 数字图像处理笔记(七):频域低通滤波平滑图像
  9. 一颗椰子糖机器人_魔修妖女拿“芝麻饼”道歉,龚常胜还她一颗椰子糖!大师兄是反派...
  10. select2 不允许选项“data” 添加到select标签中