NeonMonitor is a lightweight, high-performance Linux system monitor written in C++17 with a Dear ImGui / SDL2 + OpenGL GUI. It displays real-time system information using direct kernel data sources like /proc and /sys.
- 💻 CPU usage — total + per-core
- 🧠 Memory usage
- 📊 Process list — PID, CPU %, Memory %
- 🛠️ Process control — terminate/kill
- 🌐 Network traffic — RX/TX
- 📁 Disk usage
- 🔋 Battery percentage
- 📡 Connectivity status
- 🎨 Simple Dear ImGui GUI
- Minimal overhead
- Fast GUI
- Direct access to Linux kernel data
- Lightweight and portable
✔ Linux only (no Windows/macOS)
Reads system stats from /proc and /sys.
| Dependency | Notes |
|---|---|
| C++17 compiler | GCC or Clang |
| CMake ≥ 3.10 | Build system |
| SDL2 dev libraries | GUI backend |
| OpenGL dev libraries | Rendering |
| pthread / dl | Usually pre-installed |
sudo dpkg -i neonmonitor-1.0.0-Linux.deb
sudo apt-get install -f
system_monitor_guicd ~/Downloads
tar -xzvf neonmonitor-1.0.0-Linux.tar.gz
mkdir -p ~/.local/bin
cp neonmonitor-1.0.0-Linux/bin/system_monitor_gui ~/.local/bin/neonmonitor
chmod +x ~/.local/bin/neonmonitor
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.zshrc
source ~/.bashrc
neonmonitor1️⃣ Install Dependencies
Ubuntu / Debian:
sudo apt update
sudo apt install -y build-essential cmake libsdl2-dev libgl1-mesa-devArch Linux:
sudo pacman -S --needed base-devel cmake sdl2 mesa2️⃣ Clone the Repository
git clone https://github.com/GitGuru29/NeonMonitor.git
cd NeonMonitor3️⃣ Build
mkdir -p build
cd build
cmake ..
cmake --build . -j4️⃣ Run
./system_monitor_gui
⚠️ Some features (e.g. killing processes) may require elevated permissions:sudo ./system_monitor_gui
NeonMonitor polls Linux kernel files directly for all metrics:
| Source | Data |
|---|---|
/proc/stat |
CPU usage |
/proc/meminfo |
Memory usage |
/proc/net/dev |
Network traffic |
/proc/[pid]/ |
Per-process metrics |
/sys/class/net/*/operstate |
Interface status |
/sys/class/power_supply/*/capacity |
Battery level |
┌───────────────────────────┐
│ ImGui Renderer (SDL2) │
└───────────────┬───────────┘
│
┌────────▼────────┐
│ Data Collection │
│ (Poll Files) │
└────────┬────────┘
│
┌────────────▼────────────┐
│ Linux Kernel Interfaces │
│ (/proc, /sys) │
└──────────────────────────┘
- Per-core CPU graphs + history
- Temperature monitoring (hwmon)
- GPU utilization
- Process filtering/search
- Export metrics logging
- Themes & UI customization
Contributions are welcome!
- Open issues for new feature modules
- Provide sample
/procoutputs for testing - Tag system performance edge cases