- 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
115 lines
3.7 KiB
Markdown
115 lines
3.7 KiB
Markdown
# 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](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 optimizer**
|
|
- `tune-system.sh` - Main tuning orchestrator
|
|
- `system-analyzer.sh` - Hardware and usage analysis
|
|
- `optimizer.sh` - Apply specific optimizations
|
|
- `monitor.sh` - System monitoring and health checks
|
|
|
|
### Modules
|
|
- `modules/hardware-detection.sh` - RAM, CPU, storage detection
|
|
- `modules/usage-analysis.sh` - File access pattern analysis
|
|
- `modules/zram-optimizer.sh` - zram/zswap configuration
|
|
|
|
### Profiles
|
|
- `profiles/` - Pre-configured optimization profiles
|
|
- `configs/` - Configuration templates
|
|
|
|
## 🚀 Quick Start
|
|
|
|
```bash
|
|
# 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* ⚡ |