An advanced system monitor with a modern user interface, written in Python using Tkinter.
- CPU & RAM: Real-time processor and memory usage
- 💾 Disk: Partition monitoring and disk space usage
- 🌡️ Temperature: CPU and component temperature sensors
- 🌐 Network: Transfer speeds and interface statistics
- ⚙️ Processes: Process management with sorting and search
- File system browsing with context menu
- Copy/cut/paste operations
- File renaming and deletion
- Sorting by various criteria
- 📊 System Information: Detailed hardware and system data
- 🚀 Benchmark: Computational performance test (prime numbers)
- 🌡️ Temperature Monitor: lm-sensors support
- 🔌 Network Monitor: Speed charts and connection statistics
- Python 3.7+
- Linux system (recommended) or Windows
- lm-sensors package (for temperature monitoring)
- Clone the repository:
git clone <repository-url>
cd system-monitor- Install dependencies:
pip install -r requirements.txt- (Optional) Install lm-sensors for temperature monitoring:
sudo apt-get install lm-sensors
sudo sensors-detectpython3 SystemMonitor.pyMain Python libraries:
psutil- system monitoringmatplotlib- charts and visualizationstkinter- user interface
The application uses a modern, dark theme with tabs:
- CPU & RAM: Core utilization and memory charts
- Disk: Partitions and space usage charts
- Files: File explorer with operations
- Processes: System process management
- Temperature: Temperature sensors
- Network: Network statistics
- System Info: Detailed system information
- Benchmark: Performance tests
The application includes a prime number benchmark and disk benchmark that requires a compiled C++ program:
g++ -O3 -o prime_numbers prime_numbers.cpp
makeThe prime_numbers and disk_benchmark program should be located in the application's root directory.
sudo sensors-detect --auto
sudo service kmod startIf the AppImage doesn't run, you may need to install FUSE on your Linux system:
https://github.com/AppImage/AppImageKit/wiki/FUSEEnsure the application has appropriate permissions to read system information.
Check if the prime_numbers program is compiled and available in the path.
pip install nuitka
python3 -m nuitka --standalone --onefile --follow-imports --include-package=psutil --include-package=matplotlib --enable-plugin=tk-inter --windows-disable-console --include-data-files=prime_numbers=prime_numbers --output-filename=SystemMonitor SystemMonitor.py MIT License
Pull requests are welcome! For major changes, please open an issue first to discuss.
**requirements.txt**
```txt
psutil>=5.9.0
matplotlib>=3.5.0
Notes:
- The
requirements.txtcontains the main dependencies required for the application - Most modules (tkinter, pathlib, datetime, etc.) are part of Python's standard library
- The main external dependencies are
psutilandmatplotlib - For full temperature functionality, the system package
lm-sensorsis required - The benchmark requires a compiled C++ program
prime_numbers
The application offers comprehensive system monitoring with a modern user interface and advanced diagnostic features.
