All Products
Search
Document Center

Container Service for Kubernetes:Diagnostik memori

Last Updated:Aug 26, 2026

Identifikasi kebocoran memori, fragmentasi, dan error OOM di kluster ACK menggunakan diagnostik visual.

Diagnostik memori mencakup tiga area: memory overview, memory analysis, dan OOM analysis. Periksa penggunaan memori baik di tingkat node maupun Pod.

Catatan

Item diagnostik yang ditampilkan mencerminkan konfigurasi aktual kluster Anda.

Penting

Saat menjalankan diagnostik, ACK mengumpulkan data dari setiap node, termasuk versi sistem, status beban, status Docker dan kubelet, serta pesan error penting dalam log sistem. ACK tidak mengumpulkan data bisnis atau informasi sensitif.

Alur kerja diagnostik

Gunakan ketiga area diagnostik secara berurutan untuk mempersempit masalah memori:

  1. Memory overview — Periksa risiko memori: kebocoran memori, fragmentasi, entri Memcg yang tidak dilepas, dan pemborosan THP. Gunakan grafik untuk menentukan apakah penggunaan abnormal terjadi pada memori kernel atau memori aplikasi.

  2. Memory analysis — Telusuri lebih dalam penggunaan memori di tingkat proses dan Pod untuk mengidentifikasi proses atau kontainer yang mengonsumsi memori anonim, page cache, atau shared memory secara berlebihan.

  3. OOM analysis — Tinjau jumlah dan jenis event OOM untuk menentukan apakah error OOM terjadi di tingkat node (Host) atau kontainer (cgroup), serta kontainer mana yang mencapai batas memorinya.

Memory overview

Identifikasi risiko memori melalui item diagnostik berikut.

Item diagnostik Deskripsi
Leaked Memory Memeriksa memory leak pada kernel di Slab, Vmalloc, dan buddy system (allocpage).
Memory Usage Menampilkan pemanfaatan memori sistem.
Memcg Memeriksa apakah memory cgroup (Memcg) yang tidak dilepas menurunkan kinerja sistem atau menyebabkan kesalahan statistik.
Memory Fragmentation Memeriksa fragmentasi memori yang menurunkan kinerja sistem.
THPZeroPage Mengevaluasi rasio pemborosan Transparent Huge Page (THP).

Penggunaan memori sistem ditampilkan dalam tiga kategori:

  • Kernel memory (kernel): total memori yang digunakan oleh kernel OS.

  • Application memory (app): total memori yang digunakan oleh program mode pengguna.

  • Free memory (free): total memori sistem yang tersedia.

Konsep utama

Istilah berikut digunakan di seluruh fitur diagnostik memori.

Istilah Deskripsi
Memory leak Terjadi ketika memori yang dialokasikan secara dinamis tidak pernah dilepas, sehingga penggunaan memori terus meningkat. Memory leak yang tidak terselesaikan menurunkan kinerja dan dapat menyebabkan crash.
Memory utilization Memory utilization = (Total memori - Free memori) x 100 / Total memori. Page cache dihitung sebagai memori bebas dan tidak memengaruhi utilization — kernel dapat mereklaimnya kapan saja.
Unreleased Memcg Memory cgroup yang tidak dilepas akibat pengecualian sistem. Dapat menurunkan kinerja sistem.
Memory fragmentation Seiring waktu, blok memori bebas yang bersambungan menjadi terlalu kecil untuk permintaan alokasi besar. Hal ini memperlambat alokasi dan menyebabkan jitter pada aplikasi.
Ratio of THP waste Ratio of THP waste = Jumlah THP nol x 100% / Total jumlah THP. Lihat detail THP di bawah.
Buddy system Algoritma kernel Linux untuk mengelola halaman memori. Membagi halaman menjadi 11 kelompok dengan ukuran blok pangkat dua: 4 KB, 8 KB, 16 KB, 32 KB ... 4 MB. Sebagian besar halaman berukuran 4 KB.
Slab Mengalokasikan potongan memori kecil di atas buddy system.
Vmalloc Mengalokasikan memori dengan pemetaan nonlinear di atas buddy system.
Page cache (filecache) Linux menyimpan cache konten file di memori agar akses berikutnya lebih cepat.
Anonymous memory Memori yang dialokasikan secara dinamis ke heap dan stack suatu proses melalui new, malloc, atau mmap. Tidak didukung oleh sistem file.
Shared memory Blok memori yang dibagikan oleh dua proses atau lebih untuk komunikasi antar-proses.
tmpfs Sistem file sementara Linux yang didukung oleh memori. Semua operasi baca dan tulis di-cache di memori.
hugetlb Memori yang dikonsumsi oleh huge page dalam sistem file.

Detail THP

Transparent Huge Pages (THP) adalah huge page berukuran 2 MiB atau 1 GiB di kernel. Setiap subhalaman berukuran 4 KiB, sehingga satu THP 2-MiB setara dengan 512 subhalaman.

Dengan THP diaktifkan, kernel secara dinamis mengalokasikan THP untuk mengurangi Translation Lookaside Buffer (TLB) miss dan meningkatkan kinerja. Namun, THP dapat menyebabkan pembengkakan memori dan overcommitment: ketika aplikasi hanya meminta 8 KiB (2 subhalaman), kernel mengalokasikan satu THP 2-MiB penuh—menyisakan 510 subhalaman nol yang memboroskan resident set size (RSS) dan dapat memicu error OOM.

Metrik memori kernel

Dalam kebanyakan kasus, kebocoran memori ditunjukkan oleh penggunaan abnormal pada Sunreclaim atau buddy system. Pantau metrik ini secara ketat.

Metrik Deskripsi
SReclaimable Memori yang dapat direklaim oleh Slab.
Sunreclaim Memori yang tidak dapat direklaim oleh Slab. Pertumbuhan abnormal sangat mengindikasikan memory leak pada kernel.
PageTables Memori yang ditempati oleh tabel halaman kernel.
Vmalloc Memori yang dialokasikan oleh Vmalloc.
KernelStack Total memori stack kernel yang digunakan oleh proses.
AllocPages Memori yang dialokasikan dari buddy system oleh fungsi seperti alloc_pages. Tidak dapat diambil melalui file node apa pun — penggunaan berlebihan menciptakan black hole memori.

Metrik memori aplikasi

Saat menganalisis penggunaan memori mode pengguna, fokuslah pada memori anonim, shared memory, dan page cache.

Metrik Deskripsi
filecache Page cache yang dapat direklaim dengan menjalankan drop caches.
anon Memori anonim yang digunakan oleh heap dan stack program. Penggunaan tinggi mengindikasikan memory leak pada proses atau THP yang diaktifkan.
mlock Memori yang dikunci oleh sistem.
huge Memori yang digunakan oleh huge page.
buffer Memori yang digunakan oleh metadata perangkat blok dan sistem file.
shmem Shared memory (tmpfs). Kebocoran terjadi jika file tmpfs tidak dihapus setelah proses berakhir, atau jika file dihapus saat masih terbuka.

Memory analysis

Menyediakan dua tampilan: process memory dan pod memory.

Process memory

Menampilkan daftar proses yang diurutkan berdasarkan penggunaan memori serta rincian memori anonim, page cache, dan shared memory.

Pod memory

Menunjukkan file yang menempati page cache dan shared memory di setiap kontainer dan Pod, beserta rasio cache aktif dan tidak aktif.

Item diagnostik Deskripsi
Pod Nama Pod.
Container Nama kontainer.
File Jalur lengkap file, termasuk nama file.
Cache Page cache (filecache) yang ditempati oleh file.
Container Cache Cache tingkat kontainer yang ditempati oleh file. Beberapa proses dalam kontainer yang sama dapat mereferensikan file yang sama.
Active Cache Page cache yang sedang digunakan.
Inactive Cache Page cache yang tidak digunakan dan memenuhi syarat untuk direklaim.

OOM analysis

Mendiagnosis error kehabisan memori (out-of-memory) melalui item berikut.

Item diagnostik Deskripsi
OS OOM Count Total error OOM sejak startup host hingga diagnosis.
Available Memory Memori sistem bebas saat ini.
Low Watermark Ambang batas memori rendah. Saat memori yang tersedia turun di bawah nilai ini, kernel memicu reklamasi memori secara asinkron.
Container Nama Pod, ID kontainer, atau nama cgroup.
limit Batas memori yang dikonfigurasi untuk kontainer.
usage Penggunaan memori kontainer saat ini.
OOM Count Total error OOM dalam kontainer.
OOM Type Jenis error OOM: Host atau cgroup.