April 20, 2026
Mengatasi Docker CPU 90%.
Cara menurunkan penggunaan CPU dan disk Docker Desktop yang tembus ~90% dengan membersihkan resource yang tidak terpakai lewat docker system prune.
Catatan singkat untuk mengatasi Docker Desktop yang membuat penggunaan CPU (dan kadang disk) melonjak hingga ~90%. Berguna saat laptop terasa panas, kipas berisik, atau baterai cepat habis padahal kamu merasa tidak sedang menjalankan container yang berat.
Gejala
- Proses
com.docker.backend/com.docker.hyperkit(macOS) atauVmmem/vmmemWSL(Windows/WSL2) memakan CPU sangat tinggi, sering mendekati 90–100%. - Docker Desktop terasa lambat,
dockercommand butuh waktu lama untuk merespons. - Ruang disk terus menyusut karena tumpukan image, container, volume, dan build cache.
Kenapa Ini Terjadi
Docker menjalankan container di dalam sebuah virtual machine (LinuxKit di macOS, atau distro WSL2 di Windows). VM ini punya proses helper yang menangani CPU, memori, dan I/O.
Penyebab paling umum lonjakan CPU/disk:
- Sampah menumpuk — image yang sudah tidak dipakai (dangling), container yang berhenti, volume yatim, dan build cache yang membengkak membuat daemon bekerja lebih keras dan disk penuh.
- File watching / bind mount — sinkronisasi file antara host dan VM (mis. project besar dengan
node_modules) memicu I/O terus-menerus. - Alokasi resource terlalu besar — Docker Desktop diberi jatah CPU/RAM yang berlebihan sehingga VM ikut berat.
Solusi Cepat
Bersihkan semua resource Docker yang tidak sedang digunakan. Ini adalah langkah pertama yang paling efektif:
docker system prune -a
Perintah ini akan menghapus:
- Semua container yang berhenti.
- Semua network yang tidak dipakai container mana pun.
- Semua image yang tidak sedang dipakai (bukan hanya yang dangling, karena ada flag
-a). - Semua build cache.
Untuk sekaligus membersihkan volume yang tidak terpakai (hati-hati, ini bisa menghapus data persisten seperti database lokal):
docker system prune -a --volumes
Cek dulu berapa banyak ruang yang bisa direbut sebelum menghapus:
docker system df
Langkah Tambahan
Kalau CPU masih tinggi setelah prune, coba langkah berikut:
Batasi resource Docker Desktop. Buka Settings > Resources, lalu turunkan jumlah CPU dan Memory ke angka yang wajar (mis. 2–4 CPU, 4 GB RAM) agar VM tidak rakus.
Restart Docker Desktop setelah prune, atau restart daemon di Linux:
sudo systemctl restart dockerKurangi file watching. Untuk project dengan bind mount besar, kecualikan folder berat seperti
node_modulesatau gunakan named volume agar I/O berkurang.Aktifkan VirtioFS (macOS) di Settings > General untuk sinkronisasi file yang lebih efisien.
Catatan
docker system prune -amenghapus semua image yang tidak sedang dipakai container aktif, jadi image tersebut perlu diunduh atau di-build ulang saat dibutuhkan lagi.- Selalu berhati-hati dengan flag
--volumeskarena data di dalam volume (misalnya database) akan ikut terhapus dan tidak bisa dikembalikan.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.