Skip to content

SysVitals ​

SysVitals is one terminal tool for four everyday system checks: what is using the CPU and memory, which network connections are open, which ports are listening, and how healthy your drives are. It covers the ground of htop, netstat, ss -tlnp and smartctl in four tabs.

What it does ​

  • Processes tab: a bar for every CPU core, memory and swap bars, CPU temperature, load and uptime, and a process table you can sort, filter, and use to stop a process.
  • Network tab: every TCP and UDP socket (IPv4 and IPv6) with its state, the user that owns it and the program behind it.
  • Ports tab: every listening port with its service name. Ports open on all network interfaces are shown in yellow.
  • Disks tab: each drive's model, type (SSD or HDD), temperature and live read and write speed, its SMART health, and how full each filesystem is. (SMART is the self-monitoring data that drives keep about their own wear and errors.)
  • Snapshot mode: --dump prints all four views once as plain text, for scripts or a quick check over SSH.

For NVMe drives, SysVitals reads the drive's health log directly and shows life remaining, wear, spare capacity, a rough lifetime estimate, warnings and lifetime counters. For SATA drives it uses smartctl when it is installed.

Who it is for ​

  • Developers and testers who want to see what a program is doing to the machine while they test it.
  • Anyone who wants a quick answer to "what is listening on port 8080?" or "how worn is my SSD?".
  • People working on a server over SSH who cannot install much: SysVitals is one Python file with no dependencies.

Platforms ​

Linux only, on x86-64 and ARM64 (aarch64). It needs Python 3.8 or newer and nothing else; it uses only Python's standard library and reads from /proc and /sys.

Full NVMe health data needs root, so you run sudo sysvitals.py for it. Everything else works as a normal user.

The current release is version 1.0.0. See Install.

Next steps ​