Skip to content

Changelog

giganutt edited this page Jul 4, 2026 · 1 revision

Changelog

All notable changes to the Linux Swap Optimizer project will be documented in this file.

[2.0.0] - 2026-07-03

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

  • Priority Settings:

    • AI: nice=-10, ionice class 1 level 4
    • IDE: nice=-5, ionice class 1 level 4
    • Interactive: nice=-2, ionice class 2 level 4
    • Normal: nice=0, ionice class 2 level 7
    • Background: nice=5, ionice class 3 level 0
  • New Kernel Parameters:

    • vm.dirty_ratio=10
    • vm.dirty_background_ratio=5
    • kernel.sched_min_granularity_ns=1000000 (when available)
    • kernel.sched_wakeup_granularity_ns=1000000 (when available)

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

[1.0.0] - 2026-07-03

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

Clone this wiki locally