小文件占用大量空间

小文件占用大量空间

我用 Ubuntu 设置了一个小服务器。它有 2 个 SSD,使用 EXT4 配置为 RAID1。

服务器上有很多网站:WordPress、Magento 之类的,相当于很多小文件。

如果我随机查看一个 WordPress 文件夹,其大小为 75.2 MB,但磁盘使用量为 4.12 GB。我使用 Windows 10 属性来确定大小。该磁盘具有 Samba 共享。

我一定在设置服务器时做了一些非常错误的事情,但我完全不知道是什么。

Linux 控制台的屏幕截图

我尝试将 www 文件夹从 Linux 服务器复制到我的 Windows 10 电脑。在 Linux 上,du 将其大小调整为 101 GB,但在 Windows PC 上仅为 6 GB。

为什么会发生这种情况?我可以做些什么来改变它吗?

答案1

您有多少个文件?

不要使用 Windows 来确定大小。使用 Linux 命令确定已使用的空间。

特别地,该命令是

du -s /path/to/dir

或者为了更容易阅读的输出

du -sh /path/to/dir

一般来说,许多小文件比几个大文件会浪费更多的磁盘空间,但为了达到这样的比率,您需要许多非常小的文件。

编辑

从您添加的图像(将来请使用文本)来看,您似乎已将 ext4 选项bigalloc设置为分配大小为 1M。

比加洛克

ext4 的这一功能支持集群块分配,因此分配单位是块数的 2 次方。也就是说,传统上称为块分配位图中的每一位现在指示簇是否正在使用,其中簇默认由 16 个块组成。此功能可以减少块分配的时间并带来更小的碎片,特别是对于大文件。可以使用 mke2fs -C 选项指定大小。

相关内容