Releases: Thymester/System-Resource-Monitor
Releases · Thymester/System-Resource-Monitor
System Resource Monitor v2.0
System Resource Monitor v2.0 Release Notes
Very Important:
Run the install.bat file to ensure GPU monitoring works properly.
Major Version Update - Complete UI Overhaul & GPU Support
Release Date: September 28, 2025
Version: v2.0 (Previously v1.2)
🎯 Headline Features
🆕 GPU Monitoring Support
- Multi-vendor GPU support: NVIDIA, AMD, and Intel Arc GPUs
- Real-time GPU usage tracking with dedicated graph panel
- GPU memory monitoring with separate visualization
- GPU threshold alerts with customizable limits
- Advanced GPU detection with multiple fallback methods
- AMD Radeon support including RX 6800 XT and other RDNA cards
- NVIDIA support via GPUtil and nvidia-ml-py3 libraries
- Windows Performance Counter integration for broader GPU compatibility
🎨 Complete UI Modernization
- 4-panel dashboard layout replacing single graph view
- Modern card-based design with improved spacing and typography
- Enhanced color scheme with professional accent colors (#0078d4, #107c10, #ca5010, #8764b8)
- Status indicators with emoji-based visual feedback (🟢/🔴)
- Improved button styling with modern icons (▶, ⏹, 💾)
- Better typography using Segoe UI font family
- Responsive layout with proper window sizing and constraints
📊 Enhanced Monitoring Features
Improved Resource Tracking
- Extended history length: 60 data points (previously 7) for better trend analysis
- Separate threshold controls for CPU, Memory, and GPU in organized grid layout
- Enhanced process monitoring: Top 20 processes with formatted display
- Better data export: CSV exports now include GPU metrics
- Real-time graph updates with improved performance and stability
Alert System Enhancements
- GPU threshold alerts with 60-second delay for sustained usage
- Improved notification system with more descriptive messages
- Better alert timing: CPU (60s), Memory (120s), GPU (60s)
- Enhanced visual feedback in monitoring interface
🔧 Technical Improvements
GPU Detection & Monitoring
# New GPU monitoring methods added:
- NVIDIA ML Python (nvidia-ml-py3)
- GPUtil library support
- Windows Performance Counters
- AMD-specific monitoring via PowerShell
- Command-line tool integration (nvidia-smi)
- Hardware existence verificationArchitecture Enhancements
- Robust error handling for missing GPU drivers/libraries
- Graceful fallbacks when GPU monitoring unavailable
- Multi-threaded GPU monitoring for better performance
- Enhanced diagnostic capabilities with detailed GPU detection
- Better memory management for extended monitoring sessions
Code Quality Improvements
- Modular GPU detection with multiple fallback methods
- Improved exception handling to prevent crashes
- Better threading implementation for UI responsiveness
- Enhanced logging for troubleshooting
🆙 User Experience Improvements
Interface Enhancements
- Tabbed navigation: Resource Monitor and Top Processes tabs with emoji icons
- Organized threshold settings: Grid layout for easy configuration
- Real-time status display: Clear monitoring state indicators
- Improved process list: Better formatting with PID, name, CPU, and memory columns
- Enhanced export functionality: Better file dialogs and error handling
Usability Features
- Window centering: Automatic positioning on screen center
- Improved window sizing: 1000x850 default with min/max constraints
- Better visual hierarchy: Clear sections and information grouping
- Professional appearance: Suitable for both personal and enterprise use
📈 Performance Optimizations
Monitoring Performance
- Optimized graph rendering with matplotlib style improvements
- Better thread management for GPU monitoring
- Reduced CPU overhead for monitoring operations
- Improved data collection with more efficient storage
Resource Usage
- Lower memory footprint despite extended history
- Better CPU utilization for monitoring threads
- Optimized GUI updates for smoother operation
🔧 Technical Requirements
New Dependencies
# Added to environment.yaml:
Dependencies:
- pip:
- GPUtil # GPU monitoring library
- nvidia-ml-py3 # NVIDIA GPU supportPlatform Support
- Windows: Enhanced with Performance Counter integration
- Linux: Basic GPU support with command-line tools
- GPU Compatibility: NVIDIA, AMD Radeon, Intel Arc
🐛 Bug Fixes
Stability Improvements
- Fixed GPU monitoring crashes when hardware not available
- Resolved thread synchronization issues in monitoring loops
- Improved error handling for missing GPU drivers
- Fixed memory leaks in extended monitoring sessions
UI Fixes
- Corrected graph scaling issues with multiple metrics
- Fixed threshold input validation for decimal values
- Resolved window sizing on different screen resolutions
- Improved export dialog error handling
⚙️ Configuration Changes
Default Threshold Updates
# New recommended defaults:
CPU_THRESHOLD = 85 # Reduced from 99.15
MEMORY_THRESHOLD = 90 # Increased from 85
GPU_THRESHOLD = 99.5 # New feature
HISTORY_LENGTH = 60 # Increased from 7New Configuration Options
- GPU threshold setting with real-time input validation
- Extended monitoring intervals for better trend analysis
- Enhanced export options including GPU data
Migration Guide
From v1.2 to v2.0
- Install new dependencies:
pip install GPUtil nvidia-ml-py3 - Update environment.yaml with new packages
- Replace all source files with v2.0 versions
- Review threshold settings - defaults have changed
- Test GPU monitoring with diagnostic script if needed
Breaking Changes
- Window size: Now 1000x850 (previously 800x740)
- Default thresholds: CPU threshold reduced for better alerts
- File structure: No changes to package structure
🙏 Acknowledgments
Special thanks to users who provided feedback on GPU monitoring support, particularly those with AMD Radeon hardware, for testing the new GPU detection methods.
Full Changelog: v1.1...v2.0
System Resource Monitor v1.1
Changes:
- Refactored code: This is purely for readability reasons, given that this project is open-source.
- Version Checker: Added a version checker to the application that activates on startup, telling the user if they have an update ready.
- Bug fixes: The most notable fix is the app pausing/silent crashing when the threshold is reached; otherwise, there are minor fixes.
Initial Release
System Resource Monitoring Application
Resource Monitoring Tab
- Displays real-time CPU and memory usage graphs.
- Allows setting custom thresholds for CPU and memory usage.
- Provides the option to start and stop monitoring the system resources.
- Displays a label indicating the status of monitoring.
- Provides information about the monitoring time interval.
System Information Tab
- Displays general system information including CPU cores, CPU model, system RAM, OS platform, and disk usage.
- Shows network interfaces and associated IP addresses.
Export Data
- Allows exporting monitored resource data to a CSV file.
- Users can specify the file path and save the data in CSV format.
Resource Alerts
- Sends notifications when CPU or memory usage exceeds the set thresholds.
- Notifications include information about the resource exceeding its threshold percentage.
Graphical Representation
- Graphically represents CPU and memory usage over time.
- Updates the graphs in real-time as the monitoring continues.
- Graphs are interactive and visually represent resource usage trends.
GUI Elements
- Utilizes tabs to organize different functionalities.
- Provides input fields for setting CPU threshold, memory threshold, and CPU monitoring interval.
- Buttons for starting and stopping monitoring.
- Provides visual representations of resource usage through graphs.
Cleanup
- Properly stops monitoring and exits the application when the window is closed.
- Ensures that system resources are released and the application terminates gracefully.
Re-release of v1.0 w/ SourceForge
System Resource Monitoring Application
Resource Monitoring Tab
- Displays real-time CPU and memory usage graphs.
- Allows setting custom thresholds for CPU and memory usage.
- Provides the option to start and stop monitoring the system resources.
- Displays a label indicating the status of monitoring.
- Provides information about the monitoring time interval.
System Information Tab
- Displays general system information including CPU cores, CPU model, system RAM, OS platform, and disk usage.
- Shows network interfaces and associated IP addresses.
Export Data
- Allows exporting monitored resource data to a CSV file.
- Users can specify the file path and save the data in CSV format.
Resource Alerts
- Sends notifications when CPU or memory usage exceeds the set thresholds.
- Notifications include information about the resource exceeding its threshold percentage.
Graphical Representation
- Graphically represents CPU and memory usage over time.
- Updates the graphs in real-time as the monitoring continues.
- Graphs are interactive and visually represent resource usage trends.
GUI Elements
- Utilizes tabs to organize different functionalities.
- Provides input fields for setting CPU threshold, memory threshold, and CPU monitoring interval.
- Buttons for starting and stopping monitoring.
- Provides visual representations of resource usage through graphs.
Cleanup
- Properly stops monitoring and exits the application when the window is closed.
- Ensures that system resources are released and the application terminates gracefully.