我刚刚格式化了我的外部硬盘,为什么使用的空间这么大?

我刚刚格式化了我的外部硬盘,为什么使用的空间这么大?

我使用 gparted 将我的 1TB 外置硬盘格式化为 ext4。我是 Linux 新手,但格式化后几乎使用了 15GiB 的空间。这是正常的吗?ext4 就是这么大吗?我打算用它来存储大量视频,能放的视频越多越好。

答案1

创建 ext4 fs 时,通常应该保留一些空间以满足系统守护进程的需要。引自mkfs手册页:

Set the percentage of the filesystem which may only be
allocated by privileged processes. Reserving some number 
of  filesystem  blocks  for  use by privileged processes
is done to avoid filesystem fragmentation, and to allow 
system daemons, such as syslogd(8), to continue to function
correctly after non-privileged processes  are prevented from
writing to the filesystem.  Normally, the default percentage
of reserved blocks is 5%.

因此默认情况下mkfs保留 5%,如果是 1Tb,则可能是 50Gb。我不知道 %gparted默认使用什么。

总结

请阅读小心。

在您的情况下,正如您希望的那样,使用它来存储音频/视频/其他需要的存储,而不是根(/),您可以使用tune2fs实用程序删除块的保留。

tune2fs -r 0 /dev/sdxX

引自openSUSE 论坛

If you set the reserved block count to zero, it won't affect
performance much except if you run for long periods of time (with lots
of file creates and deletes) while the filesystem is almost full
(i.e., say above 95%), at which point you'll be subject to
fragmentation problems. Ext4's multi-block allocator is much more
fragmentation resistant, because it tries much harder to find
contiguous blocks, so even if you don't enable the other ext4
features, you'll see better results simply mounting an ext3 filesystem
using ext4 before the filesystem gets completely full.

If you are just using the filesystem for long-term archive, where
files aren't changing very often (i.e., a huge mp3 or video store), it
obviously won't matter.

答案2

文件管理数据结构总是会占用一些空间。为了跟踪哪个文件使用了硬盘的哪个部分,文件系统需要使用一些磁盘空间。如果您是专家用户并且知道自己在做什么,那么您可以在创建文件系统时调整一些参数以减少这些管理结构的大小,但这可能会增加每个文件的浪费空间。以下是最能描述这个想法的文字。这不是我的文字,只是我在网上找到的一些东西。如果您想阅读原始帖子或需要更多详细信息,请访问此处关联

据我所知,ext2/3(可能还有 ext4)使用固定大小的管理数据结构,这些结构在创建文件系统时写入一次 - 之后永远不会扩展(除非您不调整文件系统的大小)。因此,管理结构确实总是占用分区上相同数量的空间,无论您在那里存储了多少数据。与此相反,其他一些文件系统(我认为 ReiserFS 就是其中之一)动态地为其管理结构分配空间 - 也就是说,管理结构在创建文件系统后一开始占用的空间很少,但随着您在驱动器上放入更多数据而增长。最后,这种方法可以导致用于管理的存储空间量与具有固定大小管理结构的文件系统相同 - 所以不要被新格式化的 ext3 分区上的“已用”空间量所欺骗!但是,有一些选项可以传递给 mkfs.ext2 命令,这些选项会影响管理结构的大小。这些选项中最重要的是 -i 选项(该选项定义每个存储空间的 inode 比率 - 即,您可以影响一个 inode 应“处理”多少字节的存储空间)以及 -I 选项(定义一个 inode 占用的存储空间量)。请注意,一旦创建文件系统,这些值就无法更改 - 如果要更改其中一个值,则必须重新格式化分区。由于这些选项中的第一个选项间接定义了分区上的 inode 总数,并且由于每个 inode 只能代表一个文件或目录,因此它还限制了可以存储在分区上的文件数量!因此,您可以根据当前需要调整 inode 的数量(例如,每 128 MB 一个 inode - 这可以最大限度地减少用于存储电影、CD-ROM ISO 映像或每个几百 MB 的其他大文件的文件系统上 inode 所占用的开销 - 但如果您想将照片集放在那里,那么您将无法将分区只填满一半,因为在此之前您的 inode 就已经用完了)。

相关内容