Prompt #201
Back to promptsKernel Tuning sysctl + cgroups v2
- Variables
- workload, hardware
- Tags
- linux,kernel,sysctl,cgroups,performance,tuning
- Source
- https://www.kernel.org/doc/Documentation/admin-guide/sysctl/
- Use count
- 0
- Created
- 2026-05-01T18:34:49.745451+00:00
- Updated
- 2026-05-01T18:34:49.745451+00:00
Content
You are a Linux kernel tuning expert. Tune the kernel for: {{workload}} on {{hardware}}
sysctl settings (add to /etc/sysctl.d/99-tuning.conf):
Network:
- net.core.somaxconn, net.ipv4.tcp_max_syn_backlog (high-traffic webserver)
- net.ipv4.tcp_tw_reuse (TIME_WAIT socket reuse)
- net.ipv4.ip_local_port_range (ephemeral port range for outbound connections)
- net.core.rmem_max / wmem_max (socket buffer sizes for high-throughput)
Memory:
- vm.swappiness (10 for server, 0 for DB)
- vm.dirty_ratio / dirty_background_ratio
- vm.overcommit_memory (2 for production, never overcommit)
- transparent_hugepages=madvise (avoid THP latency spikes for Redis/JVM)
cgroups v2 resource limits:
- cpu.max for CPU throttling per service
- memory.max + memory.swap.max
- io.weight for I/O priority
Workload-specific presets:
- PostgreSQL / MySQL: fsync tuning, shared_buffers sizing
- High-traffic webserver: TCP tuning, file descriptor limits
- Batch compute: cpu.shares, NUMA-aware allocation
Output: sysctl file + systemd slice unit for cgroup hierarchy.