为什么硬盘读取小文件比较小
Ⅰ 有人能解释一下电脑里的硬盘文件的大小和占用空间为什么不一样吗
在Windows系统中,一个文件的大小(字节数)和它在硬盘上(或其他存储介质上)所占的空间是两个既相互联系又有区别的概念。在不同的情况下,同一个文件的“所占空间”会发生变化。 文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。 文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。 为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。 实际上字节并不是保存文件的最小单元。操作系统将硬盘划分为若干个簇,然后以簇作为最小单位保存文件。每个簇的大小因为操作系统和分区大小而不同。例如Win9x/FAT16分区,如果分区小于512M,每个簇为8K;大于512M,每个簇为16K。如果一个文件为1K,那么在小于512M的分区,它占用8K;在大于512M的分区,它占用16K。大于一个文件,文件大小和占用空间之间的差距很小。但对于一个目录中的多个文件,这种差别可能非常大。所以你要是计算占用空间,先调GetDiskFreeSpace获得磁盘的簇的大小。 然后利用文件大小除以簇的大小并将小数进位得到占用的簇数,然后再乘以簇的大小就可以获得获得文件占用的空间. 大小和占用空间不一样是很正常的,硬盘分区的最小是以4k为计算单位的。就是说好像一个一个格子一样,这些格子比较大。即使是一个文件写了一个字,它的大小不足1k,但是显示占用空间为4k。所以特别是一些小文件很多的东西。大小加起来不大,可是占用空间往往比较悬殊。
Ⅱ 为什么硬盘的读取速度相差很大有时候0.5M/s,有时候55M/s
硬盘读写出现0.5M/s到55M/s这么大差别的原因是在读写的文件大小上。
硬盘在读写单个的大文件(例如2G)时会显得很快,而在读写一批小文件(例如200个10M的文件)是就会显得较慢,而要复制一批只有几k或几十k的小文件时会显得很慢。这是因为硬盘在盘片上写入一批小文件时所选的物理位置可以说是随机的,就是哪儿空闲大就往哪儿写,而不是按照文件顺序,这是设计如此,因此一批小文件可能散落在盘片上不同的物理位置。而读写一批小文件所耗的时间都浪费在磁头的不停定位上了,其实实际的读写还是很快的,但读写所耗时间与定位所耗时间相比显得微不足道了,而Windows显示的读写速度是从外观上来看的。
Ⅲ 为什么文件的实际大小比占用空间要小一些
查看你硬盘上的一个任意非空目录或者非空文件的属性,看到大小有2个数值:一个叫大小,也就是文件的大小;另外一个叫占用空间,就是占用的硬盘空间。
占用空间肯定大于等于文件大小,因为硬盘的最小单位是簇,任何文件再小也不会小于一簇,默认磁盘一簇一般是4kb(格式化的时候可以选择)。
举个简单的例子:你本地新建一个文本文件,然后里面输入一个字符,查看大小的时候你会发现,文件大小只有1字节,而占用空间却有4kb。就是说1字节的文件也会占用一个簇,就是4kb了。
我们系统统计的是您实际的占用硬盘空间,按照上面的原理,如果用户目录内的文件很小而文件很多,那么占用空间会比文件大小多出很多,因为每个文件都可能不是4kb的整数倍。如果只有一个文件,那么差距最多也不超过4kb,但是当您的文件很小而很多的话,占用空间会比文件大小多10%甚至更高。
假设都是1字节的文件,差距就非常大了,比如1024个1字节的文件,大小只有1kb,而占用空间却有1024*4kb=4mb。
Ⅳ 硬盘随机小文件的读取速度为什么这么低,通常什么情况下会用到这个速度有什么硬盘的随机小文件的读取
机械磁盘的磁盘iops比较小,
读和写都有响应时间+寻道时间+取数据时间
文件小,存储分散,寻道时间长, 这个是磁盘电机移动速度和磁盘转速决定的。不容改变。
Ⅳ 为什么小文件的读写速度比大文件慢看到有人说主要因为硬盘寻道占用多数时间,那么我的tf卡为什么也会
内存卡一样有类似于寻道的操作啊。与硬盘类似,内存卡上的文件也是有系统控制散步于卡上的,大量小文件同样需要进行大量的寻址工作,所以速度就慢了。
而大文件一般都是顺序存放的,读取速度就快了。
Ⅵ 为什么硬盘显示小 而里面的文件夹小
不光显示隐藏文件在文件夹设置中再取消隐藏系统文件那个看看
Ⅶ 机械硬盘占用100%,但是读写很低才几KB
1: 是否WIN8.1 如是 建议更换系统 (不换要关闭数个进程~优化驱动器优化计划什么的)
2:检查硬盘AHCI驱动是否安装:硬盘4K对齐,能减少磁盘占用100%情况。(大部分用户能解决)
3:通过 HD Tune Pro 5 专业的硬盘测试工具 检测硬盘健康度,是否有故障。
4:设置虚拟内存,把虚拟内存设置到其它的盘。如果内存超过8G的用户,可以适当设置较小的值(不建议关闭虚拟内存,会导致大型游戏或者软件出错)。
5:打开 Windows 资源管理器 – 点击“查看” – 再点“选项”调出文件夹选项 – 在文件夹选项中切换至“查看”选项卡,勾选“在单独的进程中打开文件夹窗口”。
6:打开资源监视器(win+R→perfmon.exe /res),查看读写硬盘的具体文件。
7:关闭家庭组功能:WIN+R运行Services.msc,找到 HomeGroup Listener 和 HomeGroup Provider 服务,分别停止和禁用这2个服务。
8:打开网络和共享中心 → 更改适配器设置 → 网络连接 → internet协议版本6(tcp/ipv6)的前面的勾去掉,然后确定退出。
(不推荐叠瓦式~但跟100%占用关系不大~)
Ⅷ 为什么向U盘(硬盘)写入或读取小文件的速度要远小于大文件
文件在磁盘上占用的空间是按照簇来算的。一个文件占多少多少个簇。其次,磁盘上小文件的读写是不连续的。下面谈谈U盘和传统温册斯特硬盘的不同
1,硬盘的读写是机械式的,决定于磁头的移动方式,或者用平均寻道时间这个参数来衡量。磁头从圆心内向圆周方向运动,越往外,线速度越大,读写速度越快。而且对于大文件,系统会分配连续空间,所以比较快
2,U盘读写速度决定于控制器和颗粒通道。因为U盘(固态硬盘也一样)的读写是要先靠电擦除然后再写入,所以读比写快。其次,大文件可以同时多个通道写入,比小文件单通道写入快。第三,有些牛逼的U盘可以支持一次写入,即把数据放在缓存里,然后堆到64M或者32M,再一次性写入颗粒里