A terminal UI for monitoring a Linux VDO (dm-vdo) volume — the
device-mapper target that does transparent deduplication and compression.
The recording above is generated in a self-contained VM; see demo/ to
regenerate it.
Statistics come straight from the kernel dm-vdo target: the tool opens
/dev/mapper/control and issues a DM_TARGET_MSG stats ioctl, then parses the
reply. Dirty/writeback context is read from /proc/meminfo and
/proc/sys/vm/dirty_{ratio,background_ratio}.
- Linux with the
dm-vdotarget (mainlined in kernel 6.9) and a VDO volume. - root — issuing the device-mapper ioctl requires access to
/dev/mapper/control. Without it, the tool shows "Waiting for vdo stats…".
cargo build --release
sudo ./target/release/vdo-monitor <device>vdo-monitor [--mount <path>] [--interval <seconds>] <device><device> is the device-mapper basename of the VDO volume (for example vdo0,
or an LVM name like vg-name-vpool). --mount adds filesystem usage for a
mounted path. Find VDO device names with dmsetup ls --target vdo.
| Option | Description |
|---|---|
<device> |
dm-mapper basename of the VDO volume (required) |
--mount <path> |
Also show filesystem usage for this mount point |
--interval <seconds> |
Refresh interval (default: 5) |
| Key | Action |
|---|---|
q / Q / Esc / Ctrl-C |
Quit |
Licensed under the GNU General Public License, version 2 or later (GPL-2.0-or-later). See LICENSE.
