btrfs: btrfs 압축으로 인한 공간 절약을 계산하는 방법은 무엇입니까?

btrfs: btrfs 압축으로 인한 공간 절약을 계산하는 방법은 무엇입니까?

내 btrfs 파티션에 대해 압축(마운트 사용)을 활성화했으며 compress=lzo한동안 사용해 왔습니다.

비용이 얼마나 드는지 궁금합니다혜택압축을 통해 나에게 관심이 생겼습니다.공간을 절약하다(sum of all file sizes) - (actual used space).

df이 값을 얻을 수 있는 직접적인 방법이 있습니까? 아니면 출력을 요약하고 출력으로 압축하는 스크립트를 작성해야 합니까 btrfs filesystem df?

답변1

데비안/우분투에서:

apt install btrfs-compsize
compsize /mnt/btrfs-partition

페도라에서:

dnf install compsize
compsize /mnt/btrfs-partition

출력은 다음과 같습니다:

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

sudo작동하려면 루트( )가 필요합니다 (그렇지 않으면 SEARCH_V2: Operation not permitted).

마운트 지점의 전체 파일 시스템뿐만 아니라 모든 디렉터리(전체 하위 트리)에 사용할 수 있습니다.

zstd를 사용하지만 일부 이전 파일은 여전히 ​​lzo 압축을 사용하는 시스템에서는 각 파일에 대한 줄이 있습니다. ( Perc열은 디스크 크기/행의 압축되지 않은 크기이며, 이런 식으로 압축된 총 개수가 아닙니다. 작을수록 좋습니다.)

답변2

~에 따르면위키피디아, 이에 대한 기본 지원은 없지만압축도구는 btrfs의 압축을 측정할 수 있습니다.

출력은 압축되지 않은 크기가 아니라 사용된 디스크 공간의 양을 보고하는 것과 df유사합니다 . Wikipedia에서는 파일을 압축하기 전과 후의 출력을 비교하여 "추측" btrfs fi df할 수 있다고 말합니다 . df또 다른 옵션은 시험 실행과 같이 실제 데이터를 집계하여 rsync --stats읽은 데이터의 양을 보고하는 일부 프로그램을 사용하는 것입니다.

관련 정보