A real-time system monitoring dashboard built using Python, designed to track CPU, memory, disk usage, and active processes with a smooth, non-blocking terminal interface.
This project provides a lightweight alternative to traditional system monitors by displaying live system performance directly in the terminal. It uses efficient background processing to ensure a responsive and flicker-free experience.
- 📊 Real-time CPU, Memory, and Disk usage
- 🧠 Per-core CPU monitoring
- 🔥 Top processes based on CPU usage
- 🚨 Alerts for high resource consumption
- ⏱ System uptime tracking
- 🎨 Clean and dynamic terminal UI using Rich
- ⚡ Non-blocking design using multithreading
- Python
- psutil → system-level data
- rich → terminal UI rendering
- threading → background processing
- System metrics are fetched using
psutil - A background thread continuously updates process data
- The main thread renders a live dashboard using
Rich - Shared data is managed using thread-safe mechanisms (locks)
- The UI updates smoothly without blocking execution
DMS.py # Main application filegit clone https://github.com/Dev-ux210/system-monitor.git
cd system-monitorpip install psutil richpython DMS.pyThe application displays:
- System overview (CPU, Memory, Disk)
- Per-core usage
- Top running processes
- Alerts panel
(Run locally to experience the live dashboard)
- Real-time monitoring
- Multithreading
- Non-blocking system design
- Caching & synchronization
- Terminal UI rendering
- Terminal-based (no GUI)
- Process stats may have slight refresh delay
- Some system-specific features may vary
- GUI version (Tkinter / PyQt)
- Logging and analytics
- Network monitoring
- Historical performance graphs
Developed as a part of practice