Press ESC to close

Memahami dan Menggunakan CGroup di AlmaLinux

WhatsAppTelegramFacebookXThreadsCopy Link

Pernahkah Anda mengalami server terasa lambat karena ada satu aplikasi yang “rakus” memakan CPU atau RAM terlalu banyak?
Situasi ini sering dialami admin server, terutama saat beberapa layanan berjalan di mesin yang sama.

Nah, ada fitur Linux yang bisa membantu mengatasi masalah ini, yaitu Control Groups (CGroup).

Apa Itu CGroup?

CGroup (Control Groups) adalah fitur kernel Linux yang memungkinkan Anda mengatur, membatasi, dan memantau penggunaan sumber daya seperti CPU, memori, dan I/O untuk proses atau grup proses tertentu.

Dengan CGroup, Anda bisa:

  • Membatasi RAM yang boleh digunakan aplikasi.
  • Mengatur prioritas CPU untuk beberapa proses.
  • Mencegah satu layanan “menguasai” seluruh sumber daya.

Langkah-Langkah menggunakan CGroup

1. Mengecek Dukungan CGroup

AlmaLinux sudah mendukung cgroup v2:Cara untuk cek nya dengan:

mount | grep cgroup

Jika keluar informasi /sys/fs/cgroup, berarti CGroup aktif.

Install Paket Tools Stress (membutuhkan paket stress untuk step 3)
sudo dnf install epel-release -ynsudo dnf install stress -y

cek apakah sudah terpasang:

stress u002du002dversion

Jika ada versinya, artinya paket berhasil di install

2. Membuat CGroup Baru

CGroup biasanya dikelola lewat systemd. Misalnya kita ingin membuat CGroup untuk aplikasi uji coba.

Buat slice baru:

sudo systemctl set-property u002du002druntime myapp.slice CPUQuota=50% MemoryMax=500M

Penjelasan:

  • myapp.slice → nama grup.
  • CPUQuota=50% → maksimal 50% CPU.
  • MemoryMax=500M → maksimal 500MB RAM.

3. Menjalankan Proses dalam CGroup

Jalankan aplikasi di dalam slice tersebut:

systemd-run u002du002dslice=myapp.slice stress u002du002dvm 1 u002du002dvm-bytes 600M

Perintah stress digunakan untuk menguji beban CPU/memori (pastikan paket stress sudah diinstal jika belum install terlebih dahulu).

Karena ada batasan 500MB, maka proses yang butuh 600MB akan dihentikan.

4. Memantau Penggunaan Resource

Gunakan perintah systemctl status untuk melihat status slice:

systemctl status myapp.slice

Atau langsung cek penggunaan:

cat /sys/fs/cgroup/myapp.slice/memory.currentncat /sys/fs/cgroup/myapp.slice/cpu.stat

5. Menghapus atau Reset CGroup

Untuk menghapus CGroup:

sudo systemctl stop myapp.slice

Atau reset properti:

sudo systemctl reset-failed myapp.slice

Dengan CGroup di AlmaLinux, Anda bisa mengelola server lebih stabil dan adil untuk semua layanan. Fitur ini sangat penting bagi server dengan banyak aplikasi, container, atau VM, karena membantu mencegah satu proses “menggangu” yang lain

WhatsAppTelegramFacebookXThreadsCopy Link