Performance Tuning
Optimize Linux system performance.
System Monitoring
bash
top / htop # Process monitoring vmstat 1 # Memory statistics iostat -x 1 # Disk I/O sar -n DEV 1 # Network statistics perf top # CPU profiling
Kernel Parameters
bash
# /etc/sysctl.d/99-performance.conf vm.swappiness = 10 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 fs.file-max = 2097152 vm.dirty_ratio = 40 vm.dirty_background_ratio = 10
File Descriptor Limits
bash
# /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535
Disk I/O
bash
# Change scheduler echo noop > /sys/block/sda/queue/scheduler # Enable trim for SSDs fstrim -av
Network Tuning
bash
# Increase buffers sysctl -w net.core.rmem_max=134217728 sysctl -w net.core.wmem_max=134217728
Best Practices
- •Profile before optimizing
- •Change one parameter at a time
- •Monitor impact of changes
- •Document all tuning