No Description

Benjamin Vaisvil a22f0b581a Merge pull request #59 from alexmaco/fix 3 weeks ago
.cargo f809940dfa added config for aarch64 4 months ago
.github 0b84242158 add `rustfmt --check` to CI 1 month ago
assets 849810fdef NVIDIA Support on Linux. Furthers issue #27, closes issue #30. 3 months ago
src 90bba6c659 replace clap with gumdrop for cli args parsing 3 weeks ago
.gitignore 1127e30ccc added git ignore 8 months ago
Cargo.lock 87ba2e4870 update lockfile 3 weeks ago
Cargo.toml 90bba6c659 replace clap with gumdrop for cli args parsing 3 weeks ago
LICENSE 35b62022c8 Initial commit 10 months ago 6847389614 readme: change from clap to gumdrop 3 weeks ago 2917cdd190 added static build script 6 months ago


In terminal graphical metrics for your *nix system written in Rust

Running zenith on iTerm2 on MacOS


  • Optional CPU, Memory, Network, and Disk usage charts
  • Quick glances at Disk free space, NIC IP addresses, CPU frequency
  • Highlight top users of CPU, Memory, & Disk
  • Battery percentage, time to charge or discharge, power used
  • A top-like filterable process table that includes per process disk usage
  • Change process priority
  • Zoomable chart views (with support to scroll back in time)
  • Managing processes with signals
  • Performance data saved between runs
  • GPU Utilization Metrics for NVIDIA GPUs (with --features nvidia)

Planned Features

  • CPU steal percentage and general virtualization awareness
  • Sensor Temperature charts
  • Per process network usage (Linux)
  • Messaging about adverse system events, like errors in kernel ring buffer (Linux)
  • Docker support
  • ZFS (pool status)
  • GPU utilization metrics for AMD GPUS
  • Disk metrics like IO ops / latency
  • Support Memory pressure

Current Platforms

  • Linux
  • MacOS

Planned Platforms

  • BSD (OpenBSD/FreeBSD)
  • Perhaps Redox OS.


Packaging status


Download one of the compiled releases.


brew install zenith


This builds under rustc version >= 1.40.0.

cd zenith
cargo build --release

For NVIDIA GPU support, build with feature nvidia:

cargo build --release --features nvidia


Running with no arguments starts zenith with the default visualizations for CPU, Disk, and Network and a refresh rate of 2000 ms (2 seconds). These can be changed with command line parameters:

    zenith [FLAGS] [OPTIONS]

        --disable-history    Disables history when flag is present
    -h, --help               Prints help information
    -V, --version            Prints version information

    -c, --cpu-height <INT>        Height of CPU/Memory visualization. [default: 10]
        --db <STRING>             Database to use, if any. [default: ~/.zenith]
    -d, --disk-height <INT>       Height of Disk visualization. [default: 10]
    -n, --net-height <INT>        Height of Network visualization. [default: 10]
    -p, --process-height <INT>    Min Height of Process Table. [default: 8]
    -r, --refresh-rate <INT>      Refresh rate in milliseconds. [default: 2000]

Don't want a section? Remove it by setting the height to 0.

For example: zenith -c 0 removes the CPU chart.

Up/down arrow keys move around the process table. Return (enter) will focus on a process. Tab switches the active section. Active sections can be expanded (e) and minimized (m). +/- (or =/-) will zoom in / out all of the charts. Arrow keys (←/→) move forward/backward in time. Back tick (`) resets the chart to current time and max zoom. Using these options you can create the layout you want.

In zenith 'h' key will show this help:

Running zenith on iTerm2 on MacOS

Built using these great crates