NodeTop

See what every VPS on your hypervisor uses, and which ones stay above your levels. Run it on a node and it shows each VPS's share of its own vCPUs, its disk throughput and operations, and its memory. Set a level and it shows which VPS's are above it, and for how long.

v0.1.0 · Apache-2.0 · Linux

NodeTop report: one VPS above the 60% CPU level for 20 seconds
A report: one VPS above the 60% CPU level for 20 seconds.

What it does

Why hosting providers use NodeTop

Live

Who is using the node

The dashboard ranks VPS's by CPU, disk, operations, memory or time over your levels, refreshed every few seconds.

  • CPU as a share of the VPS's own vCPUs
  • Search by ID, name or IP
  • Pause to read a moment

Levels

Above your line, and for how long

Set a level for CPU, disk, operations or memory. VPS's above it are highlighted with how long they have stayed there.

  • You choose every level
  • Time over shown on each VPS
  • Never limits or pauses anything

Safe

Reads, never changes

Everything comes from each VPS's control group on the host, which the platform already made. Nothing runs inside a VPS.

  • cgroup v1 and v2
  • Proxmox KVM and LXC, libvirt
  • Reports as text, JSON or CSV

Install

Install NodeTop

With Go

go install github.com/frabsnet/nodetop/cmd/nodetop@latest

Download

curl -fsSL https://github.com/frabsnet/nodetop/releases/download/v0.1.0/nodetop_0.1.0_linux_amd64.tar.gz | tar -xz
sudo install nodetop_0.1.0_linux_amd64/nodetop /usr/local/bin/

Details

Platforms
Proxmox VE (KVM and LXC), libvirt/KVM, Virtualizor, VirtFusion, SolusVM
Runs on
Linux, amd64 and arm64
Needs
Root, to read control groups
Output
Dashboard, text summary, JSON, CSV

Usage

Commands

nodetopLive dashboard
nodetop -cpu 80 -disk 200Highlight VPS's above 80% CPU or 200 MB/s of disk
nodetop reportMeasure for 60 seconds, then print a summary
nodetop report -duration 10m -format csv -o report.csvOne row per VPS per window
nodetop vmsList the VPS's it found

NodeTop questions

Does NodeTop limit or pause VPS's?
No. It only shows what each VPS uses and which ones are above the levels you set. It changes nothing on the host.
How is CPU measured?
From each VPS's control group, as a share of its own vCPUs: 100% means every vCPU it has is busy.
Why does a VPS show dashes?
NodeTop could not read its control group: Xen guests, or a VPS that is not running.
Which hypervisors does NodeTop support?
Proxmox VE (KVM and LXC) and libvirt/KVM, which covers Virtualizor, VirtFusion and SolusVM, on cgroup v1 or v2.
How is NodeTop different from Frabs?
NodeTop shows you who is using what on one server, right now. Frabs watches every node around the clock and caps a VPS that hogs CPU or disk for hours, only when the node is under pressure.

NodeTop shows you. Frabs acts.

Frabs watches every VPS around the clock, names the customer behind abuse and stops it with your rules.