Tooling

System Monitoring

htop, btop, Netdata, Cockpit — what's actually happening on this box.

When you SSH into a box and need to know what's going on right now.

TUI / interactive

  • btop — beautiful, mouse-aware, the modern default; replaces htop / glances for many.
  • htop — classic; everywhere; still great.
  • glances — Python, broader-scope (also network / disk); web mode.
  • atop — captures historical data; great for "what was the system doing at 3 AM?"
  • bashtop — older btop predecessor.
  • gtop — Node-based; nice graphs.
  • bottom (btm) — Rust; modern alternative to btop.

Disk usage

  • ncdu — interactive disk usage. The default.
  • dust — modern Rust replacement; faster, prettier.
  • duf — replaces df; better tables.
  • df -h, du -sh * — built-in classics.
  • gdu — Go alternative to ncdu.

I/O

  • iotop — what's writing / reading?
  • iostat (sysstat) — disk I/O metrics.
  • dstat (or dool) — combined CPU / disk / network.
  • biotop (BCC) — eBPF I/O analysis.

Process / memory

  • ps aux — universal.
  • pgrep / pkill — find / signal by name.
  • ss — sockets; replaces netstat.
  • free / vmstat — memory and VM stats.
  • smem — accurate per-process memory (PSS).
  • lsof — open files / sockets.

Whole-host dashboards

  • Netdata — beautiful per-node real-time + 1-second metrics. Free; cloud option for fleet aggregation. The "install on every box" pick.
  • Cockpit (Red Hat) — web UI for managing servers; included with most modern distros.
  • Webmin / Virtualmin — older web UI; still around.
  • Zabbix / LibreNMS — heavier monitoring platforms.
  • Munin — old-school; still works.

Linux performance toolkit

  • perf — hardware perf counters; the deepest profiling tool on Linux.
  • strace / ltrace — syscall / library call tracing.
  • bpftrace / bcc — eBPF magic; see eBPF Tools.
  • Brendan Gregg's flamegraph.pl — generate flame graphs from perf samples.

Containers / k8s

  • lazydocker — TUI for Docker.
  • ctop — top-style container view.
  • k9s — see k8s CLI tools.
  • kube-state-metrics + node-exporter — for Prometheus.

Hardware / sensors

  • lm-sensors — temperature / fan / voltage.
  • smartctl (smartmontools) — disk health.
  • dmidecode — hardware inventory.
  • hwinfo / lshw / lspci / lsblk / lsusb — hardware enumeration.

Patterns to adopt

  • Install Netdata on every box. Two minutes; free; gives you 90% of monitoring.
  • htop or btop muscle memory. Pick one and learn its keybindings.
  • Use atop for after-the-fact triage. "Box was slow at 02:14" — atop has the answer.
  • Disk monitoring with smart + zfs/btrfs scrubs scheduled.
  • OOM-killer logs in dmesg — check there before you assume the app crashed itself.

Pick this if…

  • Default install on every server: Netdata + htop / btop + ncdu.
  • Need historical per-second data: atop.
  • Web UI for managing boxes: Cockpit.
  • Heavy multi-host monitoring: Zabbix or LibreNMS or Prometheus stack.
  • Performance investigation: perf + bpftrace + flamegraph.

On this page