矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 3853|回复: 33

不同文件系统占据空间差异巨大

[复制链接]
     
发表于 2024-10-30 22:17:25 | 显示全部楼层 |阅读模式
屏幕截图 2024-10-28 202940.png

屏幕截图 2024-10-28 203208.png

今日备份资料时,将选中的文件分别拷贝至两个移动硬盘,一个硬盘是NTFS文件系统,另一个硬盘是exFAT文件系统,完全相同的数据居然占据的存储空间差异巨大,exFAT比NTFS高出四五十GB!妥妥的浪费空间啊!

以前用U盘临时存放一些小文件竟没有发现这一秘密。
     
 楼主| 发表于 2024-10-30 22:21:12 | 显示全部楼层
磁盘刚format后,ntfs的先占用了100多MB,而exFAT只占用6MB。
回复 支持 反对

使用道具 举报

     
发表于 2024-10-30 22:45:00 | 显示全部楼层
云卷云舒 发表于 2024-10-30 22:21
磁盘刚format后,ntfs的先占用了100多MB,而exFAT只占用6MB。


是这样的,你用 diskpart>filesystem 命令查看它们的簇大小
未标题-1cu3.png

我不清楚你的情况,我的 Seagate Backup Plus(8TB)我重新格式化过为 NTFS 格式,簇大小是 4kB(4096 字节);WD My Book(10TB) 买来没格式化过,就是 exFAT 格式*,簇大小...是 1MB(1024k 字节)

这意味着前者,你的文件大小不到 4kB,它会占用最小一个簇就是 4kB 空间,而它在后者,会直接占用 1MB 空间;类似的,比如一个文件是 98kB,在前者会占用 25 簇就是 100kB 空间,在后者...还是 1MB

至于刚刚格式化的硬盘,NTFS 格式占的那一大块其实是 NTFS 元数据(可理解为一种特殊的日志)占的,NTFS 格式是一种日志型的文件格式。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2024-10-30 22:50:44 | 显示全部楼层
*一般移动硬盘买来的时候都是 exFAT 格式,因为第一,厂家不知道是什么人买的,万一是 Mac 用户呢?Mac 没法读写 NTFS 格式;或者还可能是用 Linux 的 所以,一般移动硬盘制造商把硬盘格式化为 exFAT 格式,保证绝大多数用户买来即用而不需要重新格式化 --- 我又想起当年的软盘,有 DOS 格式和 Mac 格式的历史了

而 exFAT 格式设计的簇大小很大,是因为大多数人用移动硬盘是为了拷贝单个体积很大的文件,比如照片、视频和压缩包,而不是拷贝体积很小的文件(你的巨大的空间占用差异说明有很多体积不大的文件),所以巨大的簇大小有利于提高文件系统的性能 --- NTFS 文件系统虽然安全,但性能不是最高的。

所以,如果你需要存储大量体积比较小的文件,硬盘最好格式化为支持比较小的簇大小的格式,比如 NTFS 格式,并使用较小的簇大小以节省空间。如果存储的都是体积很大的比如照片和视频、压缩包,那就适合使用比较大的簇大小的格式,比如 NTFS 也支持较大的簇大小(可支持到 2MB 大),或者用 exFAT 格式。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 06:59:28 | 显示全部楼层
washu请教:单个文件大小是以单个文件的体积为基准,还是以几个或几十上百个文件放在一个文件夹,再把改文件夹打成一个压缩包为准?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-10-31 09:20:48 | 显示全部楼层
文本、图像、音频、视频、镜像、app……拷贝的资料中各式各样的都有,大的几个GB,小的若干字节

感谢washu的释疑
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 09:36:16 | 显示全部楼层
本帖最后由 MF35_ 于 2024-10-31 09:38 编辑

exFAT的本质还是FAT,FAT使用的是线性索引表,这种空间管理模式决定了它的性能取决于逻辑单元块的总数量(即簇的数量,或者说FAT表的大小),对于大容量盘,FAT只能通过增加逻辑单元块的尺寸来减小其数量,使得索引时间不至于过长,所以FAT文件系统的簇大小往往随着磁盘容量同步增长,从几十k到几M都有可能(比如一个4G的SD卡,用32k以下大小的簇会速度很慢),如果是散碎文件太多,利用率就很低,而NTFS这种文件系统的索引方式不同,它是树形索引,逻辑块的总数量对性能影响小的多,所以可以用比较小的逻辑块尺寸(典型的是4k)很小,利用率就很高了

评分

2

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 10:36:38 | 显示全部楼层
海峰 发表于 2024-10-31 06:59
washu请教:单个文件大小是以单个文件的体积为基准,还是以几个或几十上百个文件放在一个文件夹,再把改文 ...

你打包了,就是一个文件了,文件系统不再记录你压缩包里面还有多少个文件、组织结构如何索引啦
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 10:49:52 | 显示全部楼层
MF35_ 发表于 2024-10-31 09:36
exFAT的本质还是FAT,FAT使用的是线性索引表,这种空间管理模式决定了它的性能取决于逻辑单元块的总数量( ...

exFAT 江湖诨名 FAT64
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 10:50:53 | 显示全部楼层
washu 发表于 2024-10-31 10:49
exFAT 江湖诨名 FAT64


还可以这么玩,不讲武德。
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 10:57:55 | 显示全部楼层
exfat从来不用
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 11:01:45 | 显示全部楼层
海峰 发表于 2024-10-31 06:59
washu请教:单个文件大小是以单个文件的体积为基准,还是以几个或几十上百个文件放在一个文件夹,再把改文 ...

如果你把多个小文件,打成一个压缩包(譬如zip,rar等)。那当然是一个文件。

如果你多个小文件,放到一个文件夹里,那还是多个小文件。




具体如何组织文件和目录的结构,不同的文件系统不一样。差异巨大。
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 11:13:48 | 显示全部楼层
ssffzz1 发表于 2024-10-31 11:01
如果你把多个小文件,打成一个压缩包(譬如zip,rar等)。那当然是一个文件。

如果你多个小文件,放到 ...

多谢赐教
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 11:37:08 | 显示全部楼层
海峰 发表于 2024-10-31 10:50
还可以这么玩,不讲武德。



也是没办法的事情,FAT系统设计虽然落后,但足够简单,实现起来比较容易,也不怎么占资源,同时性能也还不错,支持性也比较好,你很难找出另外一个如此万金油的文件系统,所以改吧改吧修修补补就用了这么多年,现在嵌入式系统还在大量用
回复 支持 反对

使用道具 举报

     
发表于 2024-10-31 11:43:46 | 显示全部楼层
MF35_ 发表于 2024-10-31 11:37
...也是没办法的事情,FAT系统设计虽然落后,但足够简单,实现起来比较容易,也不怎么占资源,同时性能也还不错,支持性也比较好,你很难找出另外一个如此万金油的文件系统,所以改吧改吧修修补补就用了这么多年,现在嵌入式系统还在大量用


exFAT 本身就是巨硬设计给蜥蜴屋用的文件系统
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-29 22:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表