A comprehensive real-time system monitoring tool for Linux terminals. Displays CPU, memory, disk, network, and process information in a beautiful, colorful terminal interface.
ServerMonitor is a simple C++ application designed to monitor system resources and report server status. It leverages libcurl for network operations and pthreads for concurrency.
- Linux operating system
- Terminal with ANSI color support
- g++ (supports C++11)
- make
- libcurl development headers
Before building you may install the following dependencies:
sudo apt update && sudo apt install -y build-essential g++ make libx11-dev \
libxrandr-dev libcurl4-openssl-dev pkg-config autoconf automake \
libtool net-tools procpsmake buildThis will compile the system_monitor.cpp source and place the binary in the build directory.
make runThis will execute the compiled ServerMonitor binary.
make cleanRemoves the binary from the project root.
- Real-time Monitoring: Updates every 0.5 seconds
- CPU Usage: Per-core usage with color-coded progress bars
- Memory Information: RAM and swap usage with detailed statistics
- Disk Monitoring:
- All mounted partitions with usage
- Read/Write speeds in real-time
- Filesystem type information
- Network Interfaces:
- All active interfaces (eth, wlan, etc.)
- IP and MAC addresses
- Download/Upload speeds
- System Information:
- Hostname and kernel version
- System uptime
- Load average (1, 5, 15 minutes)
- Public IP address
- Total and running processes
- Process Monitoring: Top 10 processes by CPU usage
- Clean Interface: Colorful, well-organized terminal UI with box drawing
Ensure that necessary dependencies (libcurl, etc.) are installed on your system before building.
