matthart1983/diskwatch

Single-host, read-only disk diagnostics TUI.

Rust

481

56 commits

updated Sep 22, 2026

See the code

See what people are saying

SourceMessageScoreDate

diskwatch 0.5.8: terminal disk diagnostics, now on Windows (r/selfhosted)

What's new: \- Windows support, with live per-disk I/O metrics \- Hot Files shows which process is writing to each path \- A config file, and you choose the Hot Files roots \- Adjustable refresh speed \- Arrow keys switch tabs everywhere \- An armv5te build, tested on an Iomega ix2-dl NAS \-…

1

Oct 3, 2026

README

DiskWatch

Disk diagnostics in your terminal.

crates.io Release Packaging status Platform License

DiskWatch Dense: disk throughput, devices, latency, capacity, SMART health and busy files on one screen

Live disk activity in diskwatch --dense.

Inspect disk activity, capacity, health and busy files. DiskWatch brings devices, volumes, filesystems and IO into one terminal, with anomaly cards to help investigate problems. It is read-only and needs no configuration to get started.

Install

brew install diskwatch                # macOS / Linux
nix-shell -p diskwatch                # NixOS / Nix
paru -S diskwatch                     # Arch (AUR)
cargo install diskwatch               # build from source with Rust
x eget use matthart1983/diskwatch     # prebuilt release binary

Prebuilt binaries are available for macOS and Linux (x86_64 and aarch64), including static Linux builds, plus Linux armv5te and Windows x86_64. Build from source.

Install smartmontools for full SMART attribute tables. Without it, SMART reporting is limited to the basic health flag where available.

Run

diskwatch                       # eight tabs
diskwatch --lite                # one 80×24 screen
diskwatch --dense               # six panels on one screen
diskwatch --watch ~/src         # watch a specific tree instead of the defaults
diskwatch --diag                # print collected state and exit

1–8 switch tabs, V cycles views, , opens settings, ? shows help, q quits. Every keybinding · All options

The tabs

KeyTabShows
1OverviewDevice summary, aggregate IO and capacity
2DevicesModel, firmware, serial, usage and device details
3VolumesAPFS containers or Linux mdraid state and resync progress
4FSMounts, capacity and usage thresholds
5IOPer-device throughput, history and sampled latency
6SMARTDrive health and available NVMe/ATA attributes
7Hot FilesPaths ranked by event rate, with inferred process attribution
8InsightsCapacity, health, wear, temperature and activity anomalies

Full-view demo. Available measurements vary by platform and permissions.

Views

ViewSizeFor
FullTabbedExploring individual devices and subsystems
Lite (--lite)80×24Throughput, capacity and busy files in an SSH session or tmux split
Dense (--dense)Full layout at 104×32 or largerIO, devices, latency, volumes, SMART and files together

Dense uses a compact layout in smaller terminals. / filters files in Lite and Dense; s cycles file sorting in Dense. View details.

Measurement limits

Hot Files infers the busiest process holding a path open; it does not identify the writer of each event. Sampling can miss short-lived writers, and unprivileged attribution is limited to your user.

Latency percentiles and histograms use sampled interval averages, not individual IO timings. macOS does not expose the device busy-time counter used for Linux utilisation. Unsupported measurements display --. Capability matrix.

Docs

ReferenceViews, controls, installation and CLI options
ConfigurationThemes, columns, refresh settings and config precedence
Watch pathsWatch roots, defaults and Linux inotify limits
Process attributionHow Hot Files associates paths with processes
CapabilitiesPlatform support and measurement limits

NetWatch covers network diagnostics; SysWatch covers system activity. They share the terminal layout and palette.

Thanks

Community packagers maintain the Nix and Arch packages. Repology tracks package versions. File packaging issues with the packagers and DiskWatch bugs here.

License

MIT

Significant stargazers

Orhun Parmaksız

5,295 followers · starred Sep 2026

Nico Domino

469 followers · starred Jul 2026

Igor Velkov

18 followers · starred Jul 2026

Alex Gorbatchev

710 followers · starred May 2026

matthart1983/diskwatch

Single-host, read-only disk diagnostics TUI.

Rust

481

56 commits

updated Sep 22, 2026

See the code

See what people are saying

SourceMessageScoreDate

diskwatch 0.5.8: terminal disk diagnostics, now on Windows (r/selfhosted)

What's new: \- Windows support, with live per-disk I/O metrics \- Hot Files shows which process is writing to each path \- A config file, and you choose the Hot Files roots \- Adjustable refresh speed \- Arrow keys switch tabs everywhere \- An armv5te build, tested on an Iomega ix2-dl NAS \-…

1

Oct 3, 2026

README

DiskWatch

Disk diagnostics in your terminal.

crates.io Release Packaging status Platform License

DiskWatch Dense: disk throughput, devices, latency, capacity, SMART health and busy files on one screen

Live disk activity in diskwatch --dense.

Inspect disk activity, capacity, health and busy files. DiskWatch brings devices, volumes, filesystems and IO into one terminal, with anomaly cards to help investigate problems. It is read-only and needs no configuration to get started.

Install

brew install diskwatch                # macOS / Linux
nix-shell -p diskwatch                # NixOS / Nix
paru -S diskwatch                     # Arch (AUR)
cargo install diskwatch               # build from source with Rust
x eget use matthart1983/diskwatch     # prebuilt release binary

Prebuilt binaries are available for macOS and Linux (x86_64 and aarch64), including static Linux builds, plus Linux armv5te and Windows x86_64. Build from source.

Install smartmontools for full SMART attribute tables. Without it, SMART reporting is limited to the basic health flag where available.

Run

diskwatch                       # eight tabs
diskwatch --lite                # one 80×24 screen
diskwatch --dense               # six panels on one screen
diskwatch --watch ~/src         # watch a specific tree instead of the defaults
diskwatch --diag                # print collected state and exit

1–8 switch tabs, V cycles views, , opens settings, ? shows help, q quits. Every keybinding · All options

The tabs

KeyTabShows
1OverviewDevice summary, aggregate IO and capacity
2DevicesModel, firmware, serial, usage and device details
3VolumesAPFS containers or Linux mdraid state and resync progress
4FSMounts, capacity and usage thresholds
5IOPer-device throughput, history and sampled latency
6SMARTDrive health and available NVMe/ATA attributes
7Hot FilesPaths ranked by event rate, with inferred process attribution
8InsightsCapacity, health, wear, temperature and activity anomalies

Full-view demo. Available measurements vary by platform and permissions.

Views

ViewSizeFor
FullTabbedExploring individual devices and subsystems
Lite (--lite)80×24Throughput, capacity and busy files in an SSH session or tmux split
Dense (--dense)Full layout at 104×32 or largerIO, devices, latency, volumes, SMART and files together

Dense uses a compact layout in smaller terminals. / filters files in Lite and Dense; s cycles file sorting in Dense. View details.

Measurement limits

Hot Files infers the busiest process holding a path open; it does not identify the writer of each event. Sampling can miss short-lived writers, and unprivileged attribution is limited to your user.

Latency percentiles and histograms use sampled interval averages, not individual IO timings. macOS does not expose the device busy-time counter used for Linux utilisation. Unsupported measurements display --. Capability matrix.

Docs

ReferenceViews, controls, installation and CLI options
ConfigurationThemes, columns, refresh settings and config precedence
Watch pathsWatch roots, defaults and Linux inotify limits
Process attributionHow Hot Files associates paths with processes
CapabilitiesPlatform support and measurement limits

NetWatch covers network diagnostics; SysWatch covers system activity. They share the terminal layout and palette.

Thanks

Community packagers maintain the Nix and Arch packages. Repology tracks package versions. File packaging issues with the packagers and DiskWatch bugs here.

License

MIT

Significant stargazers

Orhun Parmaksız

5,295 followers · starred Sep 2026

Nico Domino

469 followers · starred Jul 2026

Igor Velkov

18 followers · starred Jul 2026

Alex Gorbatchev

710 followers · starred May 2026

Languages

Rust

99.4%