$type=ticker$cols=4

$type=slider$meta=0$snip=0$rm=0

Manajemen Resource Docker Container: Membatasi CPU, RAM, dan I/O dengan Cgroups v2

Secara default, sebuah Docker container berjalan tanpa batas alokasi resource. Container tersebut bebas menggunakan seluruh kapasitas CPU...

Manajemen Resource Docker Container Membatasi CPU RAM dan IO dengan Cgroups v2

Secara default, sebuah Docker container berjalan tanpa batas alokasi resource. Container tersebut bebas menggunakan seluruh kapasitas CPU, RAM, dan I/O disk yang tersedia pada host server Linux. Jika salah satu container mengalami kebocoran memori (memory leak) atau beban kerja ekstrem, kernel Linux akan memicu OOM (Out-Of-Memory) Killer yang sering kali mematikan proses penting sistem atau database utama server.

Melalui implementasi Control Groups versi 2 (cgroups v2) di Linux modern, Docker memungkinkan kita menetapkan batasan resource yang ketat, terprediksi, dan aman.

1. Memeriksa Kesiapan Cgroups v2 pada Host Linux

Ubuntu 22.04 ke atas dan kernel Linux modern telah mengaktifkan cgroups v2 secara default. Anda dapat memastikannya dengan perintah:

docker info | grep -i "cgroup"
# Output ideal: Cgroup Version: 2
# Cgroup Driver: systemd

2. Mengatur Batasan Memori (RAM & Swap)

Ada dua parameter utama dalam pembatasan memori container:

  • --memory (atau -m): Jumlah maksimum RAM fisik yang boleh dikonsumsi container.
  • --memory-reservation: Batas lunak (soft limit). Container boleh menggunakan lebih jika server senggang, tetapi akan dipaksa turun saat host kekurangan RAM.
  • --memory-swap: Total kapasitas RAM + Swap yang diizinkan.
# Menjalankan container Nginx dengan batas RAM 512MB dan Swap 1GB
docker run -d   --name web-app   --memory="512m"   --memory-reservation="256m"   --memory-swap="1g"   nginx:alpine

3. Mengatur Alokasi CPU (Quota & Pinning)

Untuk mencegah satu container memonopoli 100% core CPU server, gunakan parameter --cpus atau alokasikan core tertentu dengan --cpuset-cpus:

# Membatasi container agar maksimal menggunakan 1.5 core CPU
docker run -d --name worker-node --cpus="1.5" my-worker:latest

# Mengunci container agar hanya berjalan pada core CPU 0 dan 1
docker run -d --name isolated-app --cpuset-cpus="0,1" my-app:latest

4. Konfigurasi Resource Limits pada Docker Compose

Pada lingkungan produksi, batasan resource umumnya dikonfigurasi melalui file docker-compose.yml menggunakan blok deploy.resources:

version: '3.8'

services:
  database:
    image: postgres:16-alpine
    restart: unless-stopped
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 2048M
        reservations:
          cpus: '0.5'
          memory: 512M
Peringatan OOM Killer: Hindari menyetel flag --oom-kill-disable pada container tanpa alokasi memori yang tepat. Mematikan OOM Killer saat container kehabisan RAM dapat menyebabkan proses freeze permanen dan membekukan thread kernel server host.

5. Monitoring Konsumsi Resource Real-Time

Gunakan perintah monitoring bawaan Docker untuk melihat pemakaian resource aktual secara langsung:

# Memantau CPU%, MEM USAGE, MEM%, NET I/O seluruh container aktif
docker stats --no-stream

Kesimpulan

Penerapan resource limits berbasis Cgroups v2 pada Docker adalah standar wajib untuk menjaga stabilitas server produksi. Dengan membatasi RAM, alokasi CPU, dan swap, Anda memastikan setiap microservice berjalan harmonis tanpa saling mengganggu ketersediaan layanan lainnya.

COMMENTS

Name

1clickInstall,1,404,1,android,1,Apache2,1,API Telegram,1,Apple,3,AWS,1,bapak internet indonesia,1,blkid,1,booting,1,brainware,1,calc,1,can't mount,3,can't read superblock,1,cara mengatasi disk failure,1,cara mengatasi disk penuh,1,cara mengatasi error disk,1,cara mengatasi error proxmox,1,cara mengatasi log full,1,centOS,1,certificate,1,Chrome,1,cinta sang penguasa,1,CLI,1,Cloud Computing,9,Cloud Storage,6,Clustering,1,Codec,1,CodeIgniter,2,computare,4,computer,4,Cybersecurity,2,dakwah,16,Data Mining,1,dd,1,Debian,2,Deepin Linux,1,digital,1,Docker,3,dosa,1,dosa besar,1,Enkripsi,1,era digital,1,error certificate,1,error path,1,error subscription,1,excel,1,failed subscription,1,Fedora,1,fedora26,1,Feeder,1,fstab,1,ftp server,1,fujitsu,1,gambar,1,ghibah,1,Git,2,GitHub,2,gitignore,1,gitignore not work,1,Google,2,Google Chrome,1,Google Cloud,1,Google Drive,2,google-drive-ocamlfuse,1,Harddisk,1,Hardware,1,Hashing,1,HDD,2,history,1,host,1,Hostname,1,how to,2,IAM,1,igmp proxy,1,Ilmu Komputer,1,impress,1,indihome,1,INDUKSI MATEMATIKA,1,instalasi,3,install,10,install GIT,1,install linux,6,internet,2,islam,17,javascript,1,K-Means,1,KDE Plasma,1,keamanan,1,Keamanan Cloud,2,keamanan data,1,Keamanan Jaringan,1,keynote,1,kodi,1,komputer,5,kuliah,1,Latte-dock,1,leap,7,leap 42.3,1,LibreOffice,1,Linux,45,linux ringan,3,Machine Learning,1,machintos,4,macOS,5,mageia,1,mandriva,1,mate,1,microsoft office,2,microsoft windows,4,microsoft word,1,Mikrotik,3,mint,1,mount,4,mounting,1,Multimedia Codec,1,Netwatch,1,network,1,network security,1,Networking,3,Nextcloud,1,node js,1,NTFS,3,ntfsfix,2,numbers,1,office,5,Online Account,1,onno,1,onnowpurbo,1,Open Source,3,OpenMandriva,1,OpenOffice,2,openoffice calc,1,openoffice writer,1,openSUSE,11,operating system,1,ownCloud,1,ownCloud Client,1,PAGES,1,PDDikti,1,pemikir islam,1,pengguna,1,perangkat keras,1,Perangkat Lunak,2,PHP,1,PHP 5,1,PKI,1,port 80,1,port 8082,1,postel sevice award,1,Powerpoint,1,presentasi,1,presentation,1,Proxmox,10,PVE,1,q4os,1,remaja islam,2,review,7,rezeki,1,s1300i,1,scanner,1,scansnap,1,Security,4,sejarah,1,Server,6,setting,1,Sistem Operasi,2,Software,2,spreadsheet,1,SSO,1,stb,1,Storage,3,sukses dunia akhirat,1,Sysadmin,4,Telegram,1,telkom,1,tesseract,1,text,1,Tutorial,17,tv box,1,Ubuntu,3,Unsupervised Learning,1,usb drive,1,useetv,1,user,1,VBA,1,version control,1,virtual machine,2,Virtualization,3,Visual basic,1,Visual Basic for Applications,1,VLC,2,VLC Media Player,1,vsftpd,1,whatsapp api,1,winbox,1,Windows,7,Windows 7,1,word,1,WORD PROCESSOR,2,workstation,1,WPS Office,1,zypper,1,
ltr
item
zhato TECH: Manajemen Resource Docker Container: Membatasi CPU, RAM, dan I/O dengan Cgroups v2
Manajemen Resource Docker Container: Membatasi CPU, RAM, dan I/O dengan Cgroups v2
zhato TECH
http://www.zhato-tech.id/2026/11/manajemen-resource-docker-container.html
http://www.zhato-tech.id/
http://www.zhato-tech.id/
http://www.zhato-tech.id/2026/11/manajemen-resource-docker-container.html
true
740282316614930842
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content