- Created PROXMOX_COMPATIBILITY.md with detailed analysis - Added check_proxmox() function to detect Proxmox VE hosts - Shows warning about potential issues (RAM allocation, kernel params) - Allows user to continue or abort - Updated README.md with Proxmox warning - Recommends running inside VMs instead of on host Key concerns on Proxmox host: - zram reduces RAM available for VMs - tmpfs allocates up to 40% of RAM - Desktop kernel parameters not optimal for hypervisor - Safe to use: inside VMs or monitoring scripts only
3.7 KiB
Linux System Tuning Suite
🚀 Intelligent system optimization toolkit for Linux desktop systems
This repository provides automated system tuning based on hardware detection, usage patterns, and best practices for tmpfs and kernel parameter optimization.
⚠️ Proxmox Users: This tool is designed for desktop systems. See PROXMOX_COMPATIBILITY.md before running on a Proxmox host. Recommended: Use inside desktop VMs instead.
✨ NEW: One-Button Optimizer
🎯 Quick Start: sudo ./one-button-optimizer.sh
The one-button optimizer is an intelligent, interactive system optimizer that:
- 🔍 Analyzes current optimizations and detects suboptimal configurations
- 🤔 Prompts for user choice on each optimization
- 🎯 Applies only selected optimizations - no forced changes
- ✅ Recognizes existing optimal configurations and leaves them alone
- ⚙️ Handles mixed scenarios where some optimizations exist but aren't ideal
Quick Tools
./one-button-optimizer.sh- Main interactive optimizer (recommended)./quick-status-check.sh- Quick system status overview (no changes)./tmpfs-info.sh- Detailed tmpfs information and configuration guide./launcher.sh- Auto-sudo launcher for the optimizer
🎯 Features
- Hardware Detection: Automatically detects RAM, CPU, storage configuration
- Usage Analysis: Identifies frequently accessed files and directories
- Intelligent Tuning: Applies optimizations based on system characteristics
- Interactive Mode: User control over what gets optimized
- Suboptimal Detection: Finds and offers to fix existing but suboptimal configs
- Modular Design: Easy to customize and extend
- Safe Deployment: Backup and rollback capabilities
- Multi-Distribution: Works across different Linux distributions
🏗️ Components
Core Scripts
one-button-optimizer.sh- 🆕 Interactive one-button optimizertune-system.sh- Main tuning orchestratorsystem-analyzer.sh- Hardware and usage analysisoptimizer.sh- Apply specific optimizationsmonitor.sh- System monitoring and health checks
Modules
modules/hardware-detection.sh- RAM, CPU, storage detectionmodules/usage-analysis.sh- File access pattern analysismodules/zram-optimizer.sh- zram/zswap configuration
Profiles
profiles/- Pre-configured optimization profilesconfigs/- Configuration templates
🚀 Quick Start
# Clone the repository
git clone git@gitea.egonetix.de:root/linux_system_tuning.git
cd linux_system_tuning
# Run system analysis
sudo ./system-analyzer.sh
# Apply optimizations
sudo ./tune-system.sh --auto
# Monitor results
./monitor.sh
📊 Supported Optimizations
- Memory Management: zram, tmpfs optimization
- Kernel Tuning: vm parameters, scheduler settings
- Cache Optimization: Browser, IDE, package manager caches
- I/O Optimization: Storage and network tuning
- Desktop Responsiveness: Priority and scheduling tweaks
🔧 Configuration
The system can be configured through:
- Interactive setup wizard
- Configuration files
- Command-line parameters
- Environment variables
📈 Benchmarking
Built-in benchmarking tools to measure:
- Boot time improvements
- Application startup times
- Memory utilization efficiency
- I/O performance gains
🛡️ Safety
- Automatic backups before changes
- Rollback capabilities
- Safe mode for testing
- Validation checks
📄 License
MIT License - see LICENSE file for details
🤝 Contributing
Contributions welcome! Please read CONTRIBUTING.md for guidelines.
Making Linux systems faster, one optimization at a time ⚡