--- description: >- Detailed performance optimization strategies, kernel parameter tuning, and system maintenance routines for the mw-pfeddersheim-workstation. tags: - performance - optimization - kernel-tuning - maintenance last_updated: '2026-03-17' --- # mw-pfeddersheim-workstation Performance Tuning ## Overview This document tracks optimization decisions, system tuning parameters, and cleanup routines implemented for the workstation to ensure maximum resource efficiency and stability. ## Current System State (2026-02-27) - **CPU**: AMD/Intel (High core count assumed from load distribution) - **RAM**: 64GB - **Storage**: NVMe (77% usage detected) - **OS**: Manjaro/Arch Linux ## Optimization Strategies ### 1. Kernel Parameter Tuning (Ansible) - **vm.swappiness**: Set to `10` to prefer RAM over swap on the 64GB machine. - **fs.inotify.max_user_watches**: Increase to `524288` for IDEs and build tools. - **vm.vfs_cache_pressure**: Set to `50` to improve filesystem cache retention. - **systemd-oomd**: Enabled to prevent system-wide hangs during severe memory pressure (User-space OOM killer). - **zswap**: Enabled via GRUB to provide compressed swap cache, improving performance when swapping is necessary. ### 2. Docker Resource Management - **Memory Limits**: Implemented `mem_limit` on critical containers (Firebird: 4G, Mailpit: 512M) to prevent runaway processes from consuming entire system memory. ### 2. Storage & Filesystem Cleanup - **Docker**: Automated pruning of unused images and volumes via `scripts/maintenance.sh`. - **Journald**: Vacuuming logs older than 7 days or exceeding 500MB. - **Package Manager**: Maintaining only the last 2 versions of packages in the cache. ### 3. Service Optimization - **Ananicy**: (Optional) Use Ananicy-cpp for automatic process prioritizing. ## Implementation Log | Date | Type | Description | |------|------|-------------| | 2026-02-27 | Initial | Initial tuning document and strategy established. | | 2026-02-27 | Audit | Performed system inspection: Boot time 33.8s, RAM usage 6.5GB/62GB, identified KVM and UVC errors. | | 2026-03-17 | Stability | Enabled `systemd-oomd` and `zswap`, added Docker memory limits following system hang analysis. |