Linux menyediakan berbagai mekanisme untuk performance tuning sistem agar sesuai dengan kebutuhan aplikasi atau server.
Dua komponen penting adalah:
Dengan tuning yang tepat, sistem dapat bekerja lebih optimal, aman, dan stabil.
/proc/sys
. Cek semua parameter:
sysctl -a
Cek nilai parameter tertentu:
sysctl net.ipv4.ip_forward
Set nilai sementara (hingga reboot):
sudo sysctl -w net.ipv4.ip_forward=1
Set nilai permanen di /etc/sysctl.conf
atau /etc/sysctl.d/*.conf
:
net.ipv4.ip_forward = 1
# Maksimum koneksi yang bisa ditangani backlog
net.core.somaxconn = 1024
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_keepalive_time = 600
2. **Memory Management**
```bash
# Swappiness agar swap tidak terlalu sering digunakan
vm.swappiness = 10
# Cache pressure (kontrol pembersihan cache)
vm.vfs_cache_pressure = 50
# Maksimum file handles sistem
fs.file-max = 2097152
Cek semua limit user saat ini:
ulimit -a
Set nilai limit sementara:
ulimit -n 65535 # maksimum file descriptor
ulimit -u 4096 # maksimum jumlah proses
Set permanen di /etc/security/limits.conf
atau /etc/security/limits.d/*.conf
:
# Format: <user> <type> <item> <value>
webuser soft nofile 65535
webuser hard nofile 65535
Atau di systemd service unit (misalnya /etc/systemd/system/myapp.service
):
[Service]
LimitNOFILE=65535
LimitNPROC=4096
Reload systemd:
sudo systemctl daemon-reexec
Networking Tuning (untuk Web/App Server)
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
Memory Tuning
vm.swappiness=10
untuk server dengan RAM besar. vm.overcommit_memory=1
untuk aplikasi database. vm.vfs_cache_pressure=50
agar cache tidak terlalu cepat dibersihkan. File Descriptor & Process Limit
nofile
ke 65535 atau lebih. nproc
agar user tidak bisa membuat proses tak terbatas. Keamanan
ulimit -c unlimited
kecuali diperlukan (core dump besar bisa memenuhi disk). nofile
sesuai kebutuhan workload, jangan terlalu kecil. Operational Best Practice
/etc/sysctl.d/99-custom.conf
agar mudah dikelola. htop
, vmstat
, iostat
, sar
) untuk mengevaluasi efek tuning.