Changelog
All notable changes to the Linux Swap Optimizer project will be documented in this file.
Added
- General Application Optimization: System now optimizes all running applications, not just AI/IDE processes
- Process Categorization: Implemented 5-tier priority system (AI, IDE, Interactive, Normal, Background)
- OS-Level Kernel Optimizations: Added dirty page ratio tuning and scheduler granularity settings
- Interactive Process Detection: Added detection for web browsers, communication apps, and media players
- Background Process Detection: Added detection for system services and background tasks
- Dry-Run Mode: Added
--dry-run flag for safe testing without making changes
- Enhanced Status Reporting: Status command now shows process categories and optimization mode
- Process Priority Tiers Documentation: Comprehensive documentation for the new priority system
Changed
- Configuration Structure: Split
ai_processes into separate ai_processes, ide_processes, interactive_processes, and background_processes arrays
- Priority Management: Enhanced to support category-based priority tiers with different CPU and I/O priorities
- Adaptive Management: Updated to support general optimization mode with user process detection
- Error Handling: Improved kernel parameter handling with graceful degradation for unavailable parameters
- Default Behavior:
optimize_all_apps now defaults to true for general desktop optimization
Fixed
- Kernel Compatibility: Scheduler granularity parameters now handled gracefully when not available on certain kernels
- Restore Function: Enhanced to use system defaults when no original settings are saved
- Logging: Improved log level handling from configuration file
Technical Details
Migration Notes
- Existing configurations will automatically use defaults for new parameters
- Set
optimize_all_apps=false in config to maintain legacy AI/IDE-only behavior
- Process lists can be customized in
/etc/swap-optimizer/config.json
Added
- Initial Release: AI-aware swap management system
- Process Prioritization: Automatic prioritization of AI/IDE processes
- Adaptive Monitoring: Real-time adjustment based on system load
- Configuration System: JSON-based configuration with multiple parameters
- Systemd Integration: Service for continuous monitoring
- Installation Script: Automated setup and deployment
- Comprehensive Documentation: Wiki with architecture, configuration, and troubleshooting guides
Features
- Swap parameter optimization (swappiness, vfs_cache_pressure, page_cluster, etc.)
- AI/IDE process detection and prioritization
- CPU and memory threshold-based adaptive management
- Automatic backup and restore of original settings
- Status reporting with system metrics
Version History
Version 2.0.0 (Current)
- General application optimization for all processes
- 5-tier priority categorization system
- OS-level kernel optimizations
- Enhanced documentation and debugging capabilities
Version 1.0.0
- Initial AI/IDE-focused optimization
- Basic process prioritization
- Adaptive monitoring
- Core swap management features
Future Plans
Version 2.1.0 (Planned)
- Machine learning-based workload prediction
- Per-process memory cgroups integration
- GPU memory optimization coordination
- Automatic workload detection and profiling
Version 3.0.0 (Future)
- Distributed system support
- Real-time performance dashboard
- Advanced analytics and reporting
- Integration with container orchestration systems
Last Updated: 2026-07-03
Current Version: 2.0.0