btrfs:如何计算 btrfs 压缩空间节省?

muf*_*fel 13 linux btrfs

我已经compress=lzo为我的 btrfs 分区启用了压缩(用 安装)并使用了一段时间。

我很好奇压缩给我带来了多少好处,并对节省的空间值感兴趣(sum of all file sizes) - (actual used space)

是否有任何直接的方法来获得这个值,或者我是否必须编写一个总结例如df输出并将其压缩为btrfs filesystem df输出的脚本?

小智 12

在 Debian/Ubuntu 中:

apt install btrfs-compsize
compsize /mnt/btrfs-partition
Run Code Online (Sandbox Code Playgroud)

在 Fedora 中:

dnf install compsize
compsize /mnt/btrfs-partition
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

Processed 123574 files, 1399139 regular extents (1399139 refs), 69614 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       73%      211G         289G         289G       
none       100%      174G         174G         174G       
lzo         32%       37G         115G         115G
Run Code Online (Sandbox Code Playgroud)


foo*_*oot 5

根据btrfs wiki,没有对此的内置支持,但compsize工具可以测量 btrfs 上的压缩。

输出df将类似于btrfs fi df报告使用了多少磁盘空间,而不是未压缩的大小。df维基百科说你可以通过比较压缩文件之前和之后的输出来“猜测” 。另一种选择是使用一些程序来汇总实际数据,例如rsync --stats在试运行时,它将报告读取了多少数据。