Files
mw-pfeddersheim-workstation/docs/tech/performance-tuning.md
T
ja 54ab23dce9 docs(system): analysis reports and EOD workflows
- Created crash analysis for 2026-03-17 OOM event.
- Documented stability test results and memory tuning effects.
- Added PARA-structured workflows for EOD protocol.
- Updated workstation health report for current 16GB swap status.
2026-03-17 19:02:06 +01:00

51 lines
2.2 KiB
Markdown

---
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. |