Skip to content

How to tune Oracle Linux Server Performance

Update System Packages

Keep your system and kernel updated

sudo dnf update -y

Optimize Kernel Parameters

Modify sysctl.conf for better memory and network performance

sudo vi /etc/sysctl.conf
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:

sudo sysctl -p

Enable Performance Profiles

Use tuned to apply performance optimizations

sudo dnf install tuned -y
sudo systemctl enable --now tuned
sudo tuned-adm profile throughput-performance

Optimize Disk I/O

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

Optimize Memory Usage

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

Optimize Network Performance

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

Use Oracle Linux UEK (Unbreakable Enterprise Kernel)

Check if you're using UEK:

uname -r
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

Disable Unnecessary Services

List enabled services:

sudo systemctl list-unit-files --type=service | grep enabled
Disable unused services:

sudo systemctl disable servicename --now

Use Oracle Linux Ksplice (Live Kernel Patching)

Enables zero-downtime kernel patching:

sudo dnf install ksplice-uptrack -y
sudo systemctl enable --now uptrack

Monitor Performance

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

Comments