alarmtop is a terminal monitoring dashboard with simple real-time anomaly detection.
It shows CPU, RAM, disk usage, disk io (%), network (download/upload), and GPU util/VRAM in the terminal.
Each panel learns its own baseline and enters an alert state if the anomaly lasts long enough.
There are many amazing monitoring tools (btop, htop, glances, ...) but most of them do not do anomaly detection. The few that do it focus on a Web UI. I wanted the same idea in the terminal.
- Terminal UI with charts
- Per-panel anomaly detection with different risk levels
- Per-panel alert background colors after a configurable persist time
- CPU: overall usage + per-core usage + top 5 processes by CPU
- RAM: used/available + swap
- Disk usage: hard rule (no learning), turns red when usage is too high
- Disk I/O: util% from
/proc/diskstats - Network: download + upload charts in one panel, one detector on total traffic
- GPU: NVIDIA via
nvidia-smi, AMD viaamdgpu sysfs
You only need Python and a terminal.
- Python (>= 3.10)
- pip, setuptools, wheel
python -m pip install --upgrade pip setuptools wheel
python -m pip install -e .
alarmtop
Keys:
- q: quit
- r: reset baselines and clear chart history
Config:
- Edit src/alarmtop/config.py
- Tested on Ubuntu 22.04 and 24.04. Expected to work on Linux systems. Feel free to open an issue if you face problems on other distros.
- For nvidia gpus,
nvidia-smimust be available - For amd gpus,
/sys/class/drm/card*/device(amdgpu sysfs) must be readable. - Requires a utf-8 terminal font that can render braille characters for charts.
