๐ฅ MATRIX SYSTEM MONITOR v3.0 - Full Featured System Monitoring Tool
Project description
๐ฅ MATRIX SYSTEM MONITOR v3.0 - Full Documentation
Overview
MATRIX System Monitor เถบเถฑเท Python-เถง เถฝเทเถบเทเทเทเถซเท advanced system monitoring tool เถเถเถบเท. Real-time data เถเถ tracking เถเถปเถฑเทเท เทเท beautiful UI เถเถ display เถเถปเถฑเทเท with comprehensive features.
โจ Features
Core Monitoring
- โ CPU Usage Tracking - Real-time CPU percentage เทเท cores info
- โ Memory Monitoring - Available, used, total memory tracking
- โ Disk Space - Monitor root partition เทเท all mounted drives
- โ System Uptime - Show เถเถปเถฑเทเท system เถเทเถดเท เถเทเถฝเถบเถเท on เถญเทเถถเทเถฏ
- โ Load Average - 1, 5, 15 minute load averages
- โ Temperature Monitoring - CPU temperature tracking (if available)
Advanced Features
-
๐ Network Monitoring
- Real-time upload/download speeds
- Active network connections count
- Per-interface IP information
-
๐พ Disk I/O
- Read/Write speed tracking
- All mounted partitions monitoring
-
๐ฎ GPU Monitoring
- NVIDIA GPU utilization
- GPU memory usage (if nvidia-smi available)
-
๐ Battery Status
- Battery percentage
- Charging/Discharging status
-
๐ฅ User Management
- Currently logged-in users count
- Active session information
Process Management
- ๐ Process Search - Case-insensitive process search
- โ๏ธ Top Processes - Top 3 by CPU and Memory usage
- ๐ Process Killing - Terminate processes safely by PID
- ๐ Process Details - PID, name, CPU%, Memory%
Data Export
- ๐ Text Logging -
~/.system-monitor.log - ๐ JSON Export -
~/.system-monitor.json - ๐ CSV Export -
~/.system-monitor.csv
Alert System
- โ ๏ธ High CPU Alert - CPU > 80%
- โ ๏ธ High Memory Alert - Memory > 85%
- โ ๏ธ Low Disk Space Alert - Disk > 90%
- โ ๏ธ Critical Temperature Alert - Temp > 90ยฐC (with sound)
๐ฆ Installation
Prerequisites
- Python 3.6 or higher
- pip (Python package manager)
- Linux or macOS (Windows เทเถณเทเท modifications เทเทเทเทเถบ เถบเทเถญเท)
Automatic Installation (Recommended)
# Download the installation script
chmod +x install_monitor.sh
./install_monitor.sh
Manual Installation
# Install psutil
pip3 install psutil
# Copy script to bin
sudo cp pymonitor_full.py /usr/local/bin/pymonitor
sudo chmod +x /usr/local/bin/pymonitor
# Add to ~/.bashrc or ~/.zshrc
echo "alias pymonitor='python3 /usr/local/bin/pymonitor'" >> ~/.bashrc
๐ Usage
Basic Commands
# Start interactive menu
pymonitor
# Start monitoring directly (no menu)
pymonitor --monitor
# Show help
pymonitor --help
# Run with full permissions
sudo pymonitor
Interactive Menu
When you run pymonitor without arguments, you'll see the menu:
๐ฅ MATRIX SYSTEM MONITOR - INTERACTIVE MENU ๐ฅ
1. Start Monitoring - Begin real-time monitoring
2. Search Process - Find processes by name
3. Kill Process - Terminate a process by PID
4. View System Info - Detailed system information
5. Export Logs - View exported log files
6. Help - Show help information
0. Exit - Close the application
During Monitoring
- Ctrl+C - Stop monitoring safely
- Monitor runs every 3 seconds - Data is logged automatically
- Real-time updates - All metrics update in real-time
๐ก Examples
Example 1: Basic Monitoring
$ pymonitor --monitor
This starts the monitoring dashboard immediately.
Example 2: Search for Firefox Process
$ pymonitor
# Choose option 2
Enter process name to search: firefox
Output:
Search Results for 'firefox':
PID NAME CPU % MEM %
---- ---- ----- -----
1234 firefox 5.2 12.3
1245 firefox-esr 2.1 8.5
Example 3: Kill a Process
$ pymonitor
# Choose option 3
Enter PID to kill: 1234
โ Process 1234 terminated successfully
Example 4: View Logs
$ cat ~/.system-monitor.log
2024-01-15 10:30:45 | CPU:25.3% | MEM:45.2% | DISK:60.5%
2024-01-15 10:30:48 | CPU:28.1% | MEM:46.1% | DISK:60.5%
2024-01-15 10:30:51 | CPU:26.5% | MEM:45.8% | DISK:60.5%
๐ Output Explanation
Main Dashboard
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฅ MATRIX SYSTEM MONITOR v3.0 (Full Edition) ๐ฅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SYSTEM OVERVIEW
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
CPU Usage : [โโโโโโโโโโโโโโโโโโ] 40.0% (8 cores)
CPU Temperature : 55.2ยฐC
Memory Usage : [โโโโโโโโโโโโโโโโโโโ] 30.0% (8.00GB/32.00GB)
Disk Usage : [โโโโโโโโโโโโโโโโโโโ] 65.0% (325.50GB/500.00GB)
Load Average : 0.45, 0.52, 0.48
System Uptime : 5d 12h 45m
HARDWARE & NETWORK STATUS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Network Speed : โฌ๏ธ 2.50MB/s โฌ๏ธ 1.20MB/s
๐ Active Connections : 45
๐ฅ Logged In Users : 2
๐พ Disk I/O : Read: 15.23MB/s Write: 8.45MB/s
๐ Battery : 95% [Charging ๐]
๐ฎ GPU Utilization : 35.2% (4.50GB/8.00GB)
๐ฅ TOP PROCESSES (BY CPU USAGE)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PID NAME CPU % MEM %
1234 chrome 12.5 8.3
5678 python3 8.2 5.1
9012 firefox 6.1 10.5
๐ Log Files
Text Format (~/system-monitor.log)
2024-01-15 10:30:45 | CPU:25.3% | MEM:45.2% | DISK:60.5%
2024-01-15 10:30:48 | CPU:28.1% | MEM:46.1% | DISK:60.5%
2024-01-15 10:30:51 | CPU:26.5% | MEM:45.8% | DISK:60.5%
JSON Format (~/system-monitor.json)
{"timestamp": "2024-01-15T10:30:45", "data": {"cpu": 25.3, "mem": 45.2, "disk": 60.5, "temp": 55.2}}
{"timestamp": "2024-01-15T10:30:48", "data": {"cpu": 28.1, "mem": 46.1, "disk": 60.5, "temp": 54.8}}
CSV Format (~/system-monitor.csv)
Timestamp,CPU%,MEM%,DISK%,TEMPยฐC
2024-01-15 10:30:45,25.3,45.2,60.5,55.2
2024-01-15 10:30:48,28.1,46.1,60.5,54.8
2024-01-15 10:30:51,26.5,45.8,60.5,55.1
๐จ Color Coding
| Color | Meaning |
|---|---|
| ๐ข Green | Normal/Good (< 50%) |
| ๐ก Yellow | Warning (50-80%) |
| ๐ด Red | Critical (> 80%) |
| ๐ต Cyan | Information |
| ๐ฃ Magenta | Hardware/Network |
โก System Requirements
Minimum
- Python 3.6+
- 50 MB free disk space
- Linux or macOS
Recommended
- Python 3.8+
- 100 MB free disk space
- 4+ core CPU
- Elevated privileges (sudo)
Optional
- NVIDIA drivers + nvidia-smi (GPU monitoring)
- Sound card (for alerts)
๐ Permissions
For full functionality, run with sudo:
sudo pymonitor
This allows access to:
- Network interface details
- System temperature sensors
- All process information
- Battery status
๐ Troubleshooting
psutil not found
pip3 install psutil
# or
pip install psutil --break-system-packages
Permission Denied Errors
# Run with sudo for full access
sudo pymonitor
# Or give execute permissions
chmod +x /usr/local/bin/pymonitor
GPU Monitoring Not Working
# Install NVIDIA drivers
# Check nvidia-smi is available
nvidia-smi
No Temperature Data
- Temperature sensors may not be available
- Some CPUs don't expose temperature
- Check:
sensorscommand (if available)
Network Speed Shows N/A
- Run with sudo for full access
- Check network interface permissions
๐ Configuration
Default settings in the script:
LOG_FILE = os.path.expanduser("~/system-monitor.log") # Log file location
JSON_LOG_FILE = os.path.expanduser("~/system-monitor.json") # JSON export
CSV_LOG_FILE = os.path.expanduser("~/system-monitor.csv") # CSV export
INTERVAL = 3 # Update interval (seconds)
MAX_LOG_ENTRIES = 1000 # Max log entries
To modify, edit /usr/local/bin/pymonitor and change the configuration section.
๐ Advanced Usage
Export logs to analyze
# View latest 100 entries
tail -n 100 ~/.system-monitor.log
# Parse JSON logs
python3 << 'EOF'
import json
with open(os.path.expanduser('~/.system-monitor.json')) as f:
for line in f:
data = json.loads(line)
print(data['timestamp'], data['data']['cpu'])
EOF
# Analyze CSV with pandas
python3 << 'EOF'
import pandas as pd
df = pd.read_csv(os.path.expanduser('~/.system-monitor.csv'))
print(df.describe())
EOF
Run in background
# Run monitoring in background
nohup pymonitor --monitor > /dev/null 2>&1 &
# Or with screen
screen -S monitor
pymonitor --monitor
# Detach with Ctrl+A then D
Cron Job Integration
# Monitor every hour
0 * * * * /usr/local/bin/pymonitor --monitor > /dev/null 2>&1
# Or specific monitoring
0 9 * * * sudo /usr/local/bin/pymonitor --monitor > ~/monitor_$(date +\%Y\%m\%d_\%H\%M\%S).log 2>&1
๐ Support & Issues
- Check the Help Menu:
pymonitorโ Option 6 - View Logs:
~/.system-monitor.log - Common Issues: See Troubleshooting section
- Feature Requests: Modify the script as needed
๐ License
This tool is provided as-is for system monitoring purposes.
๐ฏ Version History
v3.0 (Current)
- โ Full-featured system monitoring
- โ Interactive menu system
- โ Process search and kill
- โ JSON/CSV export
- โ GPU monitoring
- โ Temperature tracking
- โ Alert system
v2.1
- CPU, Memory, Disk monitoring
- Network speed tracking
- Top processes display
v1.0
- Basic monitoring
Happy Monitoring! ๐ฅ
For updates and improvements, keep the script handy and modify as needed!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file matrix_system_monitor-3.0.0.tar.gz.
File metadata
- Download URL: matrix_system_monitor-3.0.0.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
245c317484c4d2813acf9e47b1c53d9cc5f9be84e97c40065781d5f154104cdb
|
|
| MD5 |
67a21d421f953e56a1fc50c9072e539c
|
|
| BLAKE2b-256 |
c8e3c7ebc8b17b13e76cd3515615b4cab549c42bdc1fb32a588f5c92045aec91
|
Provenance
The following attestation bundles were made for matrix_system_monitor-3.0.0.tar.gz:
Publisher:
python-publish.yml on Lakmal2078/matrix_System_Monitor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matrix_system_monitor-3.0.0.tar.gz -
Subject digest:
245c317484c4d2813acf9e47b1c53d9cc5f9be84e97c40065781d5f154104cdb - Sigstore transparency entry: 1734503687
- Sigstore integration time:
-
Permalink:
Lakmal2078/matrix_System_Monitor@63e1e2219935ab552bcfa832834d52c36939321e -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/Lakmal2078
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@63e1e2219935ab552bcfa832834d52c36939321e -
Trigger Event:
release
-
Statement type:
File details
Details for the file matrix_system_monitor-3.0.0-py3-none-any.whl.
File metadata
- Download URL: matrix_system_monitor-3.0.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e15da71bef7b83ecf8d5525b355cebc740772bff11462a77d206dab3240509d8
|
|
| MD5 |
55f4bcd099a40f73cf2ac54c513f7694
|
|
| BLAKE2b-256 |
4f9a7ae65f17a3e40d4b4a30977bc28f7900af6e184b44884611344b36097291
|
Provenance
The following attestation bundles were made for matrix_system_monitor-3.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on Lakmal2078/matrix_System_Monitor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matrix_system_monitor-3.0.0-py3-none-any.whl -
Subject digest:
e15da71bef7b83ecf8d5525b355cebc740772bff11462a77d206dab3240509d8 - Sigstore transparency entry: 1734503749
- Sigstore integration time:
-
Permalink:
Lakmal2078/matrix_System_Monitor@63e1e2219935ab552bcfa832834d52c36939321e -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/Lakmal2078
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@63e1e2219935ab552bcfa832834d52c36939321e -
Trigger Event:
release
-
Statement type: