Belajar Rocky Linux - Performance Tuning & Resource Control
Episode 17 of 23

Belajar Rocky Linux - Performance Tuning & Resource Control

Episode ini membahas tuning performa Rocky Linux: profil tuned untuk workload berbeda, penyesuaian parameter kernel via sysctl, resource control systemd dengan cgroups v2, dan analisis waktu boot dengan systemd-analyze.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 16 sebelumnya kalian sudah mengamankan komunikasi dengan TLS. Sekarang saatnya memastikan server kalian bekerja seefisien mungkin. Performance tuning bukan tentang overclocking, melainkan tentang mencocokkan perilaku sistem operasi dengan karakter workload: server database butuh setting berbeda dari server file atau aplikasi web. Rocky Linux menyediakan alat yang membuat tuning lebih terstruktur: tuned untuk profil workload, sysctl untuk parameter kernel, dan systemd resource control dengan cgroups v2 untuk membatasi resource per layanan.

Performance Tuning dengan Tuned

Konsep Profil

tuned adalah daemon yang mengelompokkan pengaturan performa ke dalam profil — satu set parameter kernel yang disesuaikan untuk jenis workload tertentu. Daripada mengubah sepuluh sysctl satu per satu, kalian cukup memilih profil yang sesuai.

Melihat daemon tuned
systemctl status tuned
Melihat profil yang tersedia
tuned-adm list

Memilih dan Menerapkan Profil

Melihat profil aktif
tuned-adm active
Menerapkan profil
tuned-adm profile throughput-performance
Menjalankan rekomendasi
tuned-adm recommend

Beberapa profil yang umum: throughput-performance untuk server yang mengutamakan throughput, latency-performance untuk workload yang sensitif terhadap latensi, dan virtual-guest untuk VM — profile yang sudah dipilih otomatis di banyak instalasi cloud.

Info

tuned-adm recommend menampilkan profil yang paling cocok untuk hardware kalian. Gunakan sebagai titik awal, lalu sesuaikan — profiling bukan dogma, melainkan titik tolak yang diuji dan disempurnakan.

Profil Kustom

Untuk kebutuhan spesifik, buat profil sendiri di /etc/tuned/:

Profil kustom sederhana
mkdir -p /etc/tuned/myworkload
cat > /etc/tuned/myworkload/tuned.conf <<'EOF'
[main]
include=throughput-performance
 
[sysctl]
vm.swappiness=10
net.core.somaxconn=65535
EOF
Aktifkan profil kustom
tuned-adm profile myworkload

Profil kustom mewarisi profil dasar (include) lalu menimpanya dengan pengaturan spesifik.

Parameter Kernel dan Sysctl

Swappiness dan File Max

Membaca parameter saat ini
sysctl vm.swappiness
sysctl fs.file-max
Mengubah vm.swappiness
sysctl -w vm.swappiness=10

vm.swappiness mengontrol kecenderungan kernel menggunakan swap. Nilai rendah (10) menjaga aplikasi tetap di RAM; nilai tinggi berguna untuk sistem yang sengaja memakai swap. fs.file-max membatasi jumlah file descriptor global — sering dinaikkan untuk server dengan banyak koneksi.

Parameter Boot Kernel

Selain sysctl runtime, parameter kernel bisa diteruskan saat boot. Tambahkan lewat grubby yang kalian kenali di episode 10:

Menambahkan parameter boot
grubby --update-kernel=ALL --args="sysrq_always_enabled=1"
Menghapus parameter boot
grubby --update-kernel=ALL --remove-args="sysrq_always_enabled=1"

Perubahan baru berlaku setelah reboot — bedanya dengan sysctl yang langsung efektif.

Persistensi Sysctl

Ingat pola dari episode 10: perubahan sysctl ditulis ke /etc/sysctl.d/ agar bertahan:

Menyimpan pengaturan
echo 'vm.swappiness = 10' > /etc/sysctl.d/99-tuning.conf
sysctl --system

Resource Control dengan Systemd

Konsep Cgroups

cgroups v2 adalah mekanisme kernel untuk membagi dan membatasi resource (CPU, memory, IO) per kelompok proses. Systemd mengintegrasikan cgroups secara native — setiap unit service secara otomatis menjadi anggota cgroup.

Melihat cgroup service
systemctl status httpd
Melihat resource yang dipakai
systemctl show -p MemoryCurrent -p CPUUsageNS httpd

Membatasi Resource Service

Systemd menyediakan direktif resource control langsung di unit file atau override:

Override batas resource
systemctl edit httpd
Isi override
[Service]
CPUQuota=50%
MemoryMax=512M
IOWeight=200
Terapkan perubahan
systemctl daemon-reload
systemctl restart httpd
  • CPUQuota=50% — service maksimal memakai satu core penuh dari dua core.
  • MemoryMax=512M — batas memori keras; jika dilampaui, proses di-kill.
  • IOWeight=200 — prioritas I/O relatif terhadap service lain.

Kombinasi ini melindungi server: satu aplikasi yang tidak terkendali tidak akan menghabiskan resource seluruh sistem.

MemoryLow untuk Prioritas

Untuk layanan penting, gunakan MemoryLow — jaminan memori yang tidak akan direbut proses lain:

Menjamin memory layanan kritis
systemctl edit sshd
Isi override
[Service]
MemoryLow=64M

Layanan dengan MemoryLow dijamin tetap mendapat memori bahkan saat sistem tertekan — pertahanan terakhir untuk SSH agar tidak ikut mati.

Analisis Boot dengan Systemd-Analyze

Kecepatan Boot

Waktu boot total
systemd-analyze
Urutan unit terlama
systemd-analyze blame

systemd-analyze blame menampilkan unit yang paling lambat memulai boot — titik awal untuk mempercepat waktu nyala server.

Critical Chain

Jalur kritis boot
systemd-analyze critical-chain
Jalur untuk satu target
systemd-analyze critical-chain multi-user.target

Output ini menunjukkan unit mana yang paling memperlambat pencapaian target tertentu — berguna saat mengoptimalkan urutan start layanan.

Penutup

Di episode 17 ini kalian sudah menguasai performance tuning Rocky Linux: profil tuned untuk workload yang berbeda, penyesuaian parameter kernel dengan sysctl dan parameter boot via grubby, resource control systemd dengan cgroups v2 melalui CPUQuota, MemoryMax, dan IOWeight, serta analisis waktu boot dengan systemd-analyze.

Inti yang harus dibawa pulang:

  • Gunakan tuned dengan profil seperti throughput-performance atau latency-performance, disesuaikan lewat profil kustom.
  • vm.swappiness dan fs.file-max adalah parameter sysctl yang paling sering diubah.
  • Persistensikan perubahan sysctl di /etc/sysctl.d/ agar bertahan setelah reboot.
  • Systemd resource control dengan cgroups v2 melindungi server dari aplikasi yang tidak terkendali.
  • systemd-analyze blame dan critical-chain membantu menemukan hambatan boot.

Di episode 18 selanjutnya kita akan membahas bootable containers (bootc) dan image mode — konsep sistem operasi sebagai container image, perintah bootc switch, atomic updates, serta pembangunan image OS kustom dengan bootc-image-builder. Kalian sudah menguasai server statis; sekarang giliran sistem yang bisa di-image dan di-deploy seperti container!

Belajar Rocky Linux - Performance Tuning & Resource Control | Belajar Rocky Linux