Belajar AlmaLinux - Performance Tuning & Resource Management
Episode 17 of 23

Belajar AlmaLinux - Performance Tuning & Resource Management

Mengoptimalkan AlmaLinux untuk beban kerja tertentu: memilih profil tuning dengan tuned-adm, membuat profil kustom, membatasi resource service memakai cgroups v2 dengan MemoryMax dan CPUQuota, serta membaca hasil boot dan service dengan systemd-analyze.

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

Pendahuluan

Di episode 16 sebelumnya kita mengamankan sistem dan memastikan kepatuhan standar. Sekarang kita berpaling ke sisi lain dari sistem yang baik: performa. Server yang aman tapi lambat tidak kalah bermasalahnya — begitu juga server yang membiarkan satu service boros memakan semua resource sampai service lain kelaparan.

Episode ini membahas tiga alat utama: tuned untuk menyesuaikan profil sistem dengan beban kerja, cgroups v2 untuk membatasi resource per service, dan systemd-analyze untuk membaca kondisi boot dan startup.

Tuned: Profil Optimasi Otomatis

tuned adalah daemon yang menyesuaikan parameter sistem (sysctl, scheduler, dan lainnya) sesuai profil yang dipilih. Alih-alih men-tuning satu per satu secara manual, kalian memilih profil yang sesuai beban kerja.

Install dan aktifkan tuned
sudo dnf5 install -y tuned
sudo systemctl enable --now tuned

Memilih Profil

Lihat profil yang aktif dan tersedia
tuned-adm active
tuned-adm list

tuned-adm active menampilkan profil berjalan; list menampilkan semua profil yang tersedia. Untuk rekomendasi otomatis:

Profil yang direkomendasikan
tuned-adm recommend

Profil yang Sering Dipakai

ProfilCocok Untuk
virtual-guestVM (default di VM); mengoptimalkan untuk guest
throughput-performanceThroughput maksimal; ramah untuk server busy
latency-performanceLatensi minimal; untuk workload real-time
balancedKompromi hemat energi dan performa (default)
powersaveHemat energi untuk laptop dan idle
Aktifkan profil throughput
sudo tuned-adm profile throughput-performance
tuned-adm active

Profil throughput-performance mengaktifkan governor performa, meningkatkan buffer jaringan, dan menyesuaikan beberapa parameter untuk memaksimalkan output — pilihan umum untuk server database dan aplikasi.

Tip

Pada VM, profile virtual-guest adalah pilihan yang bijak — tuned mendeteksi hypervisor dan menyesuaikan parameter agar tidak terjadi konflik dengan host. Gunakan profil khusus seperti throughput-performance hanya jika ada alasan pengukuran yang jelas.

Membuat Profil Tuned Kustom

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

/etc/tuned/myweb/tuned.conf
[main]
summary=My web server tuning
 
[cpu]
governor=performance
 
[sysctl]
vm.swappiness=10
net.core.somaxconn=1024

Struktur file: bagian [main], lalu bagian-bagian yang mengatur komponen (cpu, sysctl, vm, dan lainnya). Aktifkan profil kustom:

Aktifkan profil kustom
sudo tuned-adm profile myweb

tuned-adm active akan menampilkan myweb. Profil kustom bisa juga mewarisi profil lain dengan menambah include= di bagian [main].

Resource Control dengan Cgroups v2

Di episode 7 kita menyentuh MemoryMax dan CPUQuota. Sekarang kita dalami bagaimana cgroups v2 menjadi mekanisme di baliknya — kernel membagi proses ke dalam grup dengan batas resource.

Batasan Per Service

Semua batas didefinisikan di override unit systemd:

Edit resource limit service
sudo systemctl edit myapp
Override resource limit
[Service]
MemoryMax=1G
MemoryHigh=768M
CPUQuota=100%
TasksMax=512

Penjelasan tiap baris:

  • MemoryMax=1G — batas keras; proses di-kill jika melewati batas.
  • MemoryHigh=768M — batas lunak; throttling terjadi sebelum batas keras.
  • CPUQuota=100% — setara satu core penuh; 200% berarti dua core.
  • TasksMax=512 — membatasi jumlah task (thread/proses) yang boleh dibuat.
Terapkan dan verifikasi
sudo systemctl daemon-reload
sudo systemctl restart myapp
systemd-cgtop

systemd-cgtop adalah setara top untuk cgroup — menampilkan penggunaan resource per unit secara real-time. Ini alat terbaik untuk melihat apakah batas berfungsi dan siapa pemakan resource terbesar.

Memeriksa Penggunaan

Batas dan penggunaan service
systemctl show myapp -p MemoryMax -p CPUQuota
systemctl status myapp

systemctl show menampilkan properti unit — verifikasi bahwa batas benar-benar diterapkan seperti yang diharapkan.

Warning

Menetapkan MemoryMax terlalu rendah adalah cara cepat menabrak diri sendiri — service bisa di-kill di tengah lonjakan beban. Mulai dari nilai yang cukup besar, pantau dengan systemd-cgtop, lalu turunkan perlahan. Ingat, tuning adalah proses pengukuran, bukan tebakan.

Analisis dengan systemd-analyze

Systemd menyediakan perintah analisis yang mengubah data boot menjadi wawasan.

Ringkasan waktu boot
systemd-analyze
Service paling lambat saat boot
systemd-analyze blame

blame mengurutkan service berdasarkan waktu inisialisasi — dari yang paling lambat. Fokus pada service yang memakan waktu tidak proporsional:

  • Service non-kritis yang berjalan terlalu dini bisa ditunda.
  • Service yang menunggu device atau network perlu dicek dependency-nya.
Ketergantungan antar unit
systemd-analyze critical-chain

critical-chain menampilkan rantai unit yang paling menentukan waktu boot — service yang berada di jalur kritis adalah kandidat optimasi pertama.

Membandingkan Boot

Rekap boot sebelumnya
systemd-analyze blame --reverse

Dengan membandingkan antar boot, kalian bisa mengukur apakah perubahan tuning benar-benar mempercepat startup — data lebih dapat diandalkan daripada perasaan.

Kesalahan Umum (Common Pitfalls)

  1. Men-tuning tanpa mengukur. Tanpa baseline, kalian tidak tahu apakah perubahan membantu. Ukur dulu, ubah, ukur lagi.
  2. Memakai throughput-performance di VM secara membabi buta. Profil virtual-guest lebih tepat — hindari konflik dengan host.
  3. Menetapkan MemoryMax terlalu rendah. Mulai besar, pantau, turunkan perlahan.
  4. Mengabaikan systemd-cgtop. Data penggunaan real-time adalah satu-satunya cara memverifikasi batas bekerja.
  5. Tuning untuk semua mesin sekaligus. Setiap beban kerja beda — jangan copy-paste profil tanpa konteks.

Penutup

Pada episode 17 ini kalian telah menguasai optimasi performa AlmaLinux: pemilihan profil tuning dengan tuned-adm, pembuatan profil kustom, pembatasan resource service dengan cgroups v2 melalui MemoryMax dan CPUQuota, serta analisis boot dan startup dengan systemd-analyze.

Inti yang harus dibawa pulang:

  • tuned-adm memilih profil sesuai beban kerja: virtual-guest, throughput-performance, latency-performance.
  • Profil kustom ditulis di /etc/tuned/ dengan bagian [cpu] dan [sysctl].
  • Cgroups v2 membatasi resource per service: MemoryMax, MemoryHigh, CPUQuota, TasksMax.
  • Pantau dengan systemd-cgtop dan systemctl show untuk verifikasi.
  • systemd-analyze blame dan critical-chain menemukan bottleneck startup.
  • Tuning adalah siklus ukur → ubah → ukur, bukan tebakan.

Dengan performa terkontrol, kalian siap mengelola beban kerja modern. Di episode 18 selanjutnya, kita akan membahas Container & Virtualization (Podman, KVM) — container rootless dengan Podman, Buildah, dan Skopeo, Quadlet untuk integrasi systemd, podman-compose, serta virtualisasi KVM dengan virt-install, virsh, dan bridge networking. Sampai jumpa!

Belajar AlmaLinux - Performance Tuning & Resource Management | Belajar AlmaLinux