1BTRFS-HEATMAP(1) Btrfs Heatmap BTRFS-HEATMAP(1)
2
3
4
6 btrfs-heatmap - visualize the layout of data on your btrfs filesystem
7
8
10 btrfs-heatmap [args] mountpoint
11
12
14 The btrfs-heatmap script creates a visualization of how a btrfs
15 filesystem is using the underlying disk space of the block devices that
16 are added to it.
17
18 The resulting PNG image will show unallocated disk space as black
19 pixels. Raw disk space that is allocated to be used for data (white),
20 metadata (blue) or system (red) gets brighter if the fill factor of
21 block groups is higher.
22
23 Because the needed information is retrieved using the btrfs kernel API,
24 it has to be run as root.
25
26 By default, the filename of the PNG image is a combination of the
27 filesystem ID and a timestamp, so that if you create multiple of them,
28 they nicely pile up as input for creating a timelapse video.
29
30
31 About the ordering of data in the picture
32 By default, the ordering inside the picture is based on a Hilbert
33 Curve. The lowest physical address of the block devices is located in
34 the bottom left corner. From there it walks up, to the right and down
35 again.
36
37
38 In btrfs technical terms speaking...
39 The picture that is generated by default shows the physical address
40 space of a filesystem, by walking all dev extents of all devices in the
41 filesystem using the search ioctl and concatenating all information
42 into a single big image. The usage values are computed by looking up
43 usage counters in the block group items from the extent tree.
44
45 It's also possible to have the picture sorted by btrfs virtual address
46 space instead, or to create pictures of the contents of block groups,
47 on extent level by using the --blockgroup option.
48
49
51 -h, --help
52 Show the built-in help message and exit.
53
54 --order order
55 Hilbert curve order (default: automatically chosen)
56
57 --size size
58 Image size (default: 10). Height/width is 2^size
59
60 --sort {physical|virtual}
61 Show disk usage sorted on dev_extent (physical, default) or
62 chunk/stripe (virtual).
63
64 --blockgroup vaddr
65 Instead of a filesystem overview, show extents in the block
66 group starting at virtual address vaddr.
67
68 --curve {hilbert|linear|snake}
69 Space filling curve type or alternative. Default is hilbert.
70
71 -v, --verbose
72 Increase debug output verbosity. May be specified multiple times
73 to increase verbosity. (-v, -vv, -vvv, etc...)
74
75 -o, --output {filename|directory|-}
76 Output png file name or directory (default: filename
77 automatically chosen). When using the special value '-' as
78 file, the png data will be written to the standard output
79 instead of to a file on disk, so it can be directly viewed by an
80 image viewer, e.g. with catimg.
81
82
84 Source and documentation on github: https://github.com/knorrie/btrfs-
85 heatmap
86
87
88
89 2017 BTRFS-HEATMAP(1)