Keep your system and kernel updated
Modify sysctl.conf for better memory and network performance
Add or modify these lines:
vm.swappiness=10
vm.dirty_ratio=20
vm.dirty_background_ratio=10
net.core.somaxconn=1024
net.ipv4.tcp_max_syn_backlog=2048
Apply changes without rebooting:
Use tuned to apply performance optimizations
sudo dnf install tuned -y
sudo systemctl enable --now tuned
sudo tuned-adm profile throughput-performance
Set the correct I/O scheduler for SSD:
echo "none" | sudo tee /sys/block/sd*/queue/scheduler
Use iotop to monitor disk usage:
sudo dnf install iotop -y
sudo iotop
Increase file descriptors limit:
sudo vi /etc/security/limits.conf
Add:
* soft nofile 65535
* hard nofile 65535
Reduce swapping:
sudo sysctl -w vm.swappiness=10
Enable TCP Fast Open:
sudo sysctl -w net.ipv4.tcp_fastopen=3
Increase connection tracking limit:
sudo sysctl -w net.netfilter.nf_conntrack_max=100000
Check if you're using UEK:
If not, install and enable it:
sudo dnf install kernel-uek -y
sudo grubby --set-default /boot/vmlinuz-$(ls /boot | grep uek | tail -1)
sudo reboot
List enabled services:
sudo systemctl list-unit-files --type=service | grep enabled
Disable unused services:
sudo systemctl disable servicename --now
Enables zero-downtime kernel patching:
sudo dnf install ksplice-uptrack -y
sudo systemctl enable --now uptrack
Use built-in tools:
top # Process monitoring
htop # Enhanced top (install with `sudo dnf install htop -y`)
iostat # Disk I/O (install with `sudo dnf install sysstat -y`)
vmstat # Memory and CPU stats