15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
15.11.2023

Perintah dan Alat untuk Memeriksa Konsumsi RAM di Linux

Memantau penggunaan RAM di Linux berarti melakukan kueri pada subsistem memori kernel untuk mengambil metrik alokasi memori fisik, utilisasi swap, dan ukuran resident set per proses. Metode paling langsung menggunakan utilitas bawaan — free, top, htop, ps, vmstat, dan smem — masing-masing mengekspos lapisan hierarki memori yang berbeda, mulai dari total keseluruhan sistem hingga ukuran set proporsional per proses (PSS).

Tekanan memori yang berlebihan memicu Linux Out-of-Memory (OOM) killer, yang secara paksa menghentikan proses untuk memulihkan RAM. Memahami perintah mana yang mengungkapkan metrik apa — dan apa arti sebenarnya dari metrik tersebut — adalah perbedaan antara penanganan reaktif dan manajemen kapasitas yang proaktif. Panduan ini mencakup setiap alat utama, sumber data kernel yang dibacanya, dan kasus-kasus tepi yang bahkan sering mengecoh administrator berpengalaman.

Mengapa Pemantauan RAM Penting di Server Linux

Manajemen memori Linux sengaja dirancang agresif. Kernel menggunakan semua RAM yang tersedia sebagai page cache untuk mempercepat I/O disk, yang berarti sistem yang melaporkan memori bebas hampir nol belum tentu berada di bawah tekanan — mungkin hanya melakukan caching secara efisien. Salah membaca perilaku ini adalah salah satu kesalahan paling umum saat menginterpretasikan angka memori mentah.

Alasan utama untuk memantau RAM secara berkelanjutan:

  • Pencegahan OOM killer: Identifikasi proses yang boros memori sebelum kernel menghentikan layanan kritis.
  • Deteksi penggunaan swap: Aktivitas swap yang berat (swapping) menandakan kehabisan RAM dan menyebabkan latensi I/O yang parah.
  • Diagnosis kebocoran memori: Proses dengan RSS yang terus bertumbuh dari waktu ke waktu menandakan kebocoran di tingkat aplikasi.
  • Perencanaan kapasitas: Data tren menginformasikan keputusan tentang penskalaan vertikal atau redistribusi beban kerja.
  • Penyetelan performa: Menyesuaikan vm.swappiness, huge pages, dan topologi NUMA memerlukan data memori dasar.

Pada lingkungan VPS Hosting di mana sumber daya dibagi atau dibatasi oleh batas hypervisor, pemantauan RAM yang akurat sangat penting — mencapai batas memori secara diam-diam menurunkan performa sebelum ada peringatan yang muncul.

Memahami Terminologi Memori Linux

Sebelum menjalankan perintah apa pun, Anda perlu memahami apa yang sebenarnya diwakili oleh kolom-kolom output.

IstilahDefinisi
TotalRAM fisik yang terpasang (atau dialokasikan ke VM)
UsedMemori yang aktif dikonsumsi oleh proses dan struktur kernel
FreeRAM yang sama sekali tidak digunakan — sering kali terlihat rendah secara menyesatkan
SharedMemori yang digunakan oleh tmpfs dan dibagi antar proses
Buff/CacheBuffer kernel dan page cache — dapat diklaim kembali sesuai permintaan
AvailablePerkiraan realistis RAM yang tersedia untuk alokasi baru tanpa swapping
Swap UsedData yang dipindahkan dari RAM ke partisi swap atau file swap
VSZ (Virtual Size)Total ruang alamat virtual yang dicadangkan oleh sebuah proses
RSS (Resident Set Size)RAM fisik yang saat ini ditempati oleh sebuah proses
PSS (Proportional Set Size)RSS yang disesuaikan untuk memori bersama — metrik per proses yang paling akurat
USS (Unique Set Size)Memori yang dimiliki secara eksklusif oleh sebuah proses; dibebaskan sepenuhnya saat keluar

Wawasan penting: Selalu gunakan kolom Available dari free -h, bukan kolom Free, saat menilai apakah sistem memiliki cukup RAM untuk beban kerja baru. Kolom Free mengabaikan cache yang dapat diklaim kembali, sehingga menimbulkan alarm palsu.

File /proc/meminfo: Sumber Otoritatif

Setiap alat yang dijelaskan dalam artikel ini membaca dari /proc/meminfo, sebuah file virtual yang dikelola oleh kernel secara real time. Memeriksanya secara langsung memberi Anda data paling terperinci yang tersedia:

cat /proc/meminfo

Bidang-bidang utama yang perlu diperhatikan:

  • MemTotal — total RAM yang dapat digunakan
  • MemFree — RAM yang sepenuhnya tidak aktif
  • MemAvailable — perkiraan RAM yang tersedia untuk proses baru
  • Buffers — cache blok disk mentah
  • Cached — page cache untuk file
  • SwapTotal / SwapFree — kapasitas dan ketersediaan swap
  • Dirty — memori yang menunggu untuk ditulis ke disk (nilai tinggi menandakan tekanan I/O)
  • HugePages_Total / HugePages_Free — status alokasi huge page
  • Slab — cache struktur data kernel (dapat tumbuh besar pada server NFS atau database yang sibuk)

Memahami /proc/meminfo memungkinkan Anda menginterpretasikan output setiap alat lainnya dengan konteks penuh.

Memeriksa RAM dengan Perintah free

free adalah cara tercepat untuk mendapatkan snapshot memori seluruh sistem. Perintah ini membaca langsung dari /proc/meminfo dan memformat output ke dalam tabel yang mudah dibaca manusia.

Penggunaan Dasar

free

Output dalam kilobyte secara default. Gunakan flag untuk format yang lebih mudah dibaca:

free -h        # Human-readable (MB/GB)
free -m        # Output in megabytes
free -g        # Output in gigabytes
free -s 5      # Refresh every 5 seconds (continuous monitoring)
free -h --si   # Use SI units (1000-based) instead of binary (1024-based)

Penjelasan Contoh Output

              total        used        free      shared  buff/cache   available
Mem:           15Gi       4.2Gi       1.1Gi       312Mi       9.8Gi       10.9Gi
Swap:         2.0Gi       128Mi       1.9Gi

Dalam contoh ini, sistem tampaknya hanya memiliki 1,1 GB bebas, tetapi 10,9 GB sebenarnya tersedia untuk proses baru karena kernel akan mengklaim kembali buff/cache sesuai permintaan. Inilah hal terpenting yang perlu dipahami tentang output free.

Kasus Tepi: Penggunaan Swap sebagai Sinyal Peringatan

Bahkan sejumlah kecil penggunaan swap (Swap: used > 0) pada server produksi perlu diselidiki. Ini berarti kernel telah memutuskan bahwa beberapa halaman memori lebih baik disimpan di disk daripada di RAM — tanda bahwa working set melebihi memori fisik.

Memeriksa RAM dengan Perintah top

top menyediakan tampilan real-time yang terus diperbarui tentang penggunaan sumber daya sistem, menggabungkan statistik CPU dan memori dengan daftar proses yang diurutkan.

top

Bidang Memori Utama di top

Di bagian atas antarmuka top, dua baris menampilkan statistik memori:

MiB Mem :  16384.0 total,   1126.4 free,   4301.2 used,  10956.4 buff/cache
MiB Swap:   2048.0 total,   1920.0 free,    128.0 used.  11200.0 avail Mem

Dalam tabel proses, kolom memori yang paling relevan adalah:

  • VIRT — ukuran memori virtual (setara VSZ)
  • RES — memori fisik resident (RSS)
  • SHR — porsi memori bersama dari RES
  • %MEM — persentase total RAM fisik yang digunakan

Perintah Interaktif top yang Berguna

TombolAksi
MUrutkan proses berdasarkan penggunaan memori (%MEM)
PUrutkan berdasarkan penggunaan CPU
kHentikan proses berdasarkan PID
1Alihkan statistik per core CPU
fTambah/hapus bidang tampilan
WSimpan konfigurasi saat ini

Menjalankan top Secara Non-Interaktif

Untuk skrip dan pengambilan log, jalankan top dalam mode batch:

top -b -n 1 | head -30

Ini menghasilkan satu snapshot — berguna untuk skrip pemantauan berbasis cron.

Memeriksa RAM dengan htop

htop adalah penampil proses berbasis ncurses yang ditingkatkan, yang menyajikan data dasar yang sama seperti top dengan antarmuka yang jauh lebih mudah digunakan. Alat ini tidak diinstal secara default di sebagian besar distribusi.

Instalasi

# Debian / Ubuntu
apt-get install htop

# RHEL / CentOS / AlmaLinux / Rocky Linux
yum install htop
# or on newer versions:
dnf install htop

# Alpine Linux
apk add htop

Apa yang htop Tambahkan Dibanding top

  • Bar memori berkode warna yang membedakan memori yang digunakan, buffer, dan cache secara sekilas
  • Tampilan pohon proses horizontal dan vertikal (F5)
  • Dukungan mouse untuk mengklik dan menggulir
  • Multi-pilih untuk manajemen proses massal
  • Pencarian bawaan (F3) dan filter (F4) tanpa perlu menghafal pintasan tombol
  • Tampilan langsung memori yang tersedia secara menonjol di header

Legenda Warna Bar Memori htop

WarnaArti
HijauMemori yang digunakan (proses)
BiruBuffer cache
Kuning/OranyePage cache
MerahSwap yang digunakan

Tips pro: Di htop, tekan F2 (Setup) > Display Options > aktifkan “Show CPU frequency” dan “Detailed CPU time” untuk gambaran yang lebih lengkap bersama data memori.

Memeriksa RAM dengan Perintah ps

ps (process status) melakukan kueri pada tabel proses kernel dan dapat diurutkan serta difilter untuk mengidentifikasi konsumen memori teratas pada suatu waktu.

Urutkan Proses Berdasarkan Konsumsi Memori

ps aux --sort=-%mem

Penjelasan Kolom Output

KolomDeskripsi
USERPemilik proses
PIDID Proses
%CPUUtilisasi CPU sejak proses dimulai
%MEMPersentase RAM fisik yang digunakan (RSS / MemTotal)
VSZUkuran memori virtual dalam KB
RSSUkuran resident set dalam KB
TTYTerminal pengendali
STATStatus proses (S=tidur, R=berjalan, Z=zombie, D=tunggu tak terputus)
STARTWaktu mulai proses
TIMEWaktu CPU kumulatif yang dikonsumsi
COMMANDNama perintah dan argumen

One-Liner Praktis

Tampilkan 10 proses yang paling banyak mengonsumsi memori dengan output yang mudah dibaca:

ps aux --sort=-%mem | head -11

Tampilkan penggunaan memori untuk nama proses tertentu (misalnya, Apache):

ps aux | grep apache2 | awk '{sum += $6} END {print sum/1024 " MB"}'

Ini menjumlahkan nilai RSS dari semua proses worker apache2 — penting untuk memahami jejak sebenarnya dari server web multi-proses.

Catatan penting: ps menampilkan RSS, yang menghitung ganda shared library. Jika 20 worker Apache masing-masing memetakan shared library 50 MB yang sama, ps melaporkan 1.000 MB penggunaan shared library di antara mereka, sementara biaya fisik sebenarnya hanya 50 MB. Gunakan smem untuk akuntansi yang akurat.

Memeriksa RAM dengan smem

smem adalah alat akuntansi memori per proses yang paling akurat yang tersedia di Linux karena melaporkan PSS (Proportional Set Size) — memori bersama dibagi secara proporsional di antara semua proses yang memetakannya, menghilangkan masalah penghitungan ganda yang melekat pada alat berbasis RSS.

Instalasi

# Ubuntu / Debian
apt-get install smem

# CentOS / RHEL 7
yum install smem

# RHEL 8+ / AlmaLinux / Rocky Linux
dnf install smem

# Alternatively, install via pip
pip install smem

Penggunaan Dasar

smem

Opsi smem yang Berguna

smem -r              # Sort by RSS (descending)
smem -s pss -r       # Sort by PSS (most accurate, descending)
smem -u              # Aggregate by user
smem -m              # Show system-wide memory map
smem -p              # Show percentages instead of raw KB
smem -k              # Show values in KB
smem -t              # Show totals row
smem --pie name      # Generate a pie chart (requires matplotlib)
smem -P apache2      # Filter by process name pattern

PSS vs RSS: Mengapa Ini Penting

Pertimbangkan server yang menjalankan 10 proses worker Node.js, masing-masing berbagi library runtime V8 sebesar 100 MB:

  • RSS per proses: 200 MB (100 MB bersama + 100 MB privat)
  • Total RSS yang dilaporkan: 2.000 MB
  • PSS per proses: 110 MB (bagian 10 MB dari 100 MB + 100 MB privat)
  • Total PSS yang dilaporkan: 1.100 MB
  • RAM fisik yang sebenarnya digunakan: 1.100 MB

RSS melebih-lebihkan penggunaan hampir 2x dalam skenario ini. Saat membuat keputusan penskalaan pada Dedicated Server, menggunakan PSS dari smem memberi Anda kebenaran yang sesungguhnya.

Memeriksa RAM dengan vmstat

vmstat (virtual memory statistics) memberikan tampilan yang lebih luas tentang aktivitas memori, swap, I/O, dan CPU, menjadikannya ideal untuk mendiagnosis tekanan memori seluruh sistem daripada masalah proses individual.

vmstat 2 10    # Report every 2 seconds, 10 times

Kolom Memori Utama

KolomDeskripsi
swpdMemori virtual yang digunakan (swap)
freeMemori yang tidak aktif
buffMemori yang digunakan sebagai buffer
cacheMemori yang digunakan sebagai cache
siMemori yang di-swap masuk dari disk (KB/s)
soMemori yang di-swap keluar ke disk (KB/s)

Sinyal kritis: Nilai si (swap-in) dan so (swap-out) yang bukan nol dalam aliran vmstat yang berjalan menandakan swapping aktif — tanda pasti kehabisan memori. Bahkan lonjakan sesekali dalam so dapat menyebabkan lonjakan latensi aplikasi ratusan milidetik.

Memeriksa RAM dengan sar (System Activity Reporter)

sar dari paket sysstat merekam data memori historis, memungkinkan analisis retrospektif — sesuatu yang tidak dapat disediakan oleh alat real-time.

Instalasi

apt-get install sysstat    # Debian/Ubuntu
yum install sysstat        # CentOS/RHEL

Penggunaan

sar -r 1 5          # Memory stats every 1 second, 5 times
sar -r -f /var/log/sysstat/sa$(date +%d)   # Today's historical data
sar -S 1 5          # Swap statistics

sar sangat berharga untuk menjawab pertanyaan seperti “Apakah ada lonjakan memori pada pukul 3 pagi yang menyebabkan crash aplikasi?” — pertanyaan yang tidak dapat dijawab oleh alat real-time mana pun setelah kejadian.

Memeriksa RAM dengan /proc/<PID>/status dan /proc/<PID>/smaps

Untuk analisis mendalam per proses, kernel mengekspos peta memori terperinci langsung di /proc.

Pemeriksaan Memori Cepat Per Proses

cat /proc/$(pgrep nginx | head -1)/status | grep -E "VmRSS|VmPeak|VmSize|VmSwap"

Contoh output:

VmPeak:   512340 kB
VmSize:   498120 kB
VmRSS:    102400 kB
VmSwap:        0 kB
  • VmPeak — ukuran memori virtual puncak yang pernah dicapai oleh proses ini
  • VmRSS — ukuran resident set saat ini
  • VmSwap — seberapa banyak proses ini telah di-swap keluar

Peta Memori Terperinci dengan smaps

cat /proc/$(pgrep mysql | head -1)/smaps | grep -E "^(Size|Rss|Pss|Shared|Private)"

Ini mengungkapkan setiap pemetaan memori (heap, stack, shared library, pemetaan anonim) dengan nilai RSS dan PSS individual — tampilan memori paling terperinci yang tersedia tanpa profiler.

Perbandingan Alat: Memilih Perintah yang Tepat

AlatCakupanJenis MetrikReal-TimeHistorisAkurasi Memori BersamaKasus Penggunaan Terbaik
freeSeluruh sistemTotal/TersediaYaTidakN/APemeriksaan kesehatan cepat
topPer proses + sistemRSS, %MEMYaTidakRendah (RSS)Pemantauan interaktif
htopPer proses + sistemRSS, %MEMYaTidakRendah (RSS)Pemantauan interaktif (direkomendasikan)
psPer prosesRSS, VSZSnapshotTidakRendah (RSS)Skrip, pengurutan
smemPer prosesPSS, USS, RSSSnapshotTidakTinggi (PSS)Akuntansi memori yang akurat
vmstatSeluruh sistemSwap I/O, bebasYaTidakN/AMendiagnosis tekanan swap
sarSeluruh sistemSemua metrikTidakYaN/AAnalisis pasca-insiden
/proc/meminfoSeluruh sistemData kernel mentahYaTidakN/ASkrip, otomasi
/proc/PID/smapsPer prosesPeta lengkapYaTidakTinggiProfiling proses mendalam

Alur Kerja Pemantauan Praktis

Alur Kerja 1: Triase Cepat (Di Bawah 60 Detik)

free -h                          # Step 1: Is Available memory critically low?
vmstat 1 5                       # Step 2: Is active swapping occurring?
ps aux --sort=-%mem | head -15   # Step 3: Which processes are the top consumers?

Alur Kerja 2: Mengidentifikasi Kebocoran Memori

# Watch a specific process's RSS grow over time
watch -n 5 'ps -o pid,rss,vsz,comm -p $(pgrep your_app)'

# Or use smem with repeated snapshots
while true; do smem -P your_app -t; sleep 30; done

Alur Kerja 3: Analisis Historis Pasca-Insiden

sar -r -f /var/log/sysstat/sa$(date +%d --date='yesterday')

Alur Kerja 4: Skrip Peringatan Otomatis

#!/bin/bash
THRESHOLD=90
USED_PCT=$(free | awk '/^Mem:/ {printf "%.0f", $3/$2 * 100}')
if [ "$USED_PCT" -gt "$THRESHOLD" ]; then
    echo "ALERT: RAM usage at ${USED_PCT}% on $(hostname)" | mail -s "Memory Alert" admin@example.com
fi

Skrip ini dapat ditempatkan dalam cron job untuk pemantauan otomatis berkelanjutan — kebutuhan praktis pada setiap VPS dengan cPanel produksi atau server bare-metal.

Lanjutan: Parameter Penyetelan Memori Kernel

Setelah Anda mengidentifikasi tekanan memori, parameter sysctl ini secara langsung memengaruhi perilaku:

# View current swappiness (default: 60)
sysctl vm.swappiness

# Reduce swap tendency (recommended for databases: 10)
sysctl -w vm.swappiness=10

# Increase dirty page write-back aggressiveness
sysctl -w vm.dirty_ratio=15
sysctl -w vm.dirty_background_ratio=5

# Drop page cache manually (use with caution on production)
sync; echo 3 > /proc/sys/vm/drop_caches

vm.swappiness dijelaskan: Nilai 60 berarti kernel akan mulai melakukan swapping ketika RAM 40% terpakai. Untuk server database (MySQL, PostgreSQL, Redis), menetapkan ini ke 10 menjaga data di RAM jauh lebih lama, secara dramatis mengurangi latensi I/O. Untuk sistem desktop atau sistem dengan RAM terbatas, nilai default lebih sesuai.

Jebakan Umum dan Kesalahan Interpretasi

Jebakan 1: Panik karena memori “free” yang rendah

Seperti yang dijelaskan sebelumnya, Linux sengaja menggunakan RAM bebas sebagai cache. Sistem dengan 200 MB bebas tetapi 8 GB tersedia adalah sehat. Selalu baca kolom Available.

Jebakan 2: Menjumlahkan RSS untuk memperkirakan total penggunaan memori

Menjumlahkan nilai RSS ps di semua proses biasanya akan melebihi total RAM fisik karena penghitungan ganda shared library. Gunakan smem -t untuk total sistem yang akurat.

Jebakan 3: Mengabaikan cache Slab

Pada klien atau server NFS yang sibuk dengan banyak file kecil, alokator Slab kernel dapat mengonsumsi gigabyte RAM. Periksa cat /proc/meminfo | grep Slab — memori ini secara teknis dapat diklaim kembali tetapi tidak muncul di alat tingkat proses.

Jebakan 4: Mengacaukan VSZ dengan penggunaan memori sebenarnya

Aplikasi Java mungkin menampilkan VSZ 4 GB tetapi hanya 512 MB RSS. VSZ mencakup file yang dipetakan ke memori, heap yang dicadangkan tetapi tidak dialokasikan, dan shared library — sebagian besar tidak pernah benar-benar dimuat ke RAM fisik.

Jebakan 5: Mengabaikan memori pada beban kerja yang dikontainerisasi

Di dalam container Docker, free menampilkan total memori host, bukan batas cgroup container. Gunakan cat /sys/fs/cgroup/memory/memory.usage_in_bytes dan cat /sys/fs/cgroup/memory/memory.limit_in_bytes untuk metrik tingkat container yang akurat.

Menyiapkan Pemantauan RAM yang Persisten

Untuk lingkungan produksi, perintah point-in-time tidak mencukupi. Pertimbangkan pendekatan ini untuk visibilitas berkelanjutan:

  • sysstat dengan cron: Mengaktifkan pengumpulan data historis sar secara otomatis.
  • Prometheus + Node Exporter: Mengambil metrik /proc/meminfo dan mengeksposnya untuk dashboard Grafana.
  • Netdata: Pemantauan real-time tanpa konfigurasi dengan granularitas per detik dan deteksi anomali memori bawaan.
  • Zabbix atau Nagios: Peringatan tingkat enterprise dengan ambang batas memori yang dapat dikonfigurasi dan kebijakan eskalasi.

Saat menjalankan beban kerja pada infrastruktur GPU Hosting, pantau juga GPU VRAM bersama RAM sistem — nvidia-smi --query-gpu=memory.used,memory.free --format=csv menyediakan metrik setara untuk memori GPU.

Untuk lingkungan web hosting yang dikelola melalui VPS Control Panels, sebagian besar panel menyertakan grafik memori bawaan — tetapi ini biasanya melakukan polling pada interval 1–5 menit dan akan melewatkan lonjakan berdurasi singkat yang akan ditangkap oleh vmstat atau sar.

Matriks Keputusan Teknis: Alat Mana yang Digunakan Kapan

SkenarioAlat yang DirekomendasikanPerintah
Pemeriksaan kesehatan sistem cepatfreefree -h
Temukan konsumen memori teratas saat inips atau htop`ps aux –sort=-%memhead -15`
Akuntansi per proses yang akuratsmemsmem -s pss -r
Mendiagnosis swapping aktifvmstatvmstat 1 10
Menyelidiki insiden memori di masa lalusarsar -r -f /var/log/sysstat/saDD
Profil proses tertentu secara mendalam/proc/PID/smapscat /proc/PID/smaps
Pemantauan produksi berkelanjutanPrometheus + Node Exporter
Batas memori containerfilesystem cgroupcat /sys/fs/cgroup/memory/memory.usage_in_bytes

Daftar Periksa Poin-Poin Utama

  • Selalu periksa memori Available dari free -h, bukan kolom Free, untuk menilai ruang yang sebenarnya tersedia.
  • Gunakan vmstat 1 5 untuk mengonfirmasi atau menyingkirkan swapping aktif sebelum meningkatkan investigasi.
  • Gunakan smem -s pss -r daripada ps aux --sort=-%mem saat Anda membutuhkan angka memori per proses yang akurat — terutama pada server dengan banyak proses yang berbagi library.
  • Instal sysstat di setiap server produksi segera setelah provisioning untuk mengaktifkan pengumpulan data historis sar.
  • Tetapkan vm.swappiness=10 secara persisten di /etc/sysctl.conf pada server database untuk meminimalkan penggunaan swap.
  • Periksa /proc/meminfo untuk nilai Slab dan Dirty ketika alat standar tidak menjelaskan tekanan memori yang diamati.
  • Untuk beban kerja yang dikontainerisasi, baca file memori cgroup — bukan free — untuk batas dan penggunaan yang akurat.
  • Pada lingkungan shared hosting atau VPS, tetapkan baseline memori selama operasi normal agar anomali segera dapat dikenali.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara memori “free” dan “available” di Linux?

“Free” adalah RAM yang sama sekali tidak digunakan saat ini. “Available” adalah perkiraan realistis memori yang dapat dialokasikan ke proses baru tanpa memicu swapping — ini mencakup page cache dan buffer yang dapat diklaim kembali. Pada server Linux yang sehat, “free” sering mendekati nol sementara “available” tetap tinggi. Selalu gunakan “available” untuk penilaian kapasitas.

Mengapa jumlah semua nilai RSS proses melebihi total RAM fisik?

RSS (Resident Set Size) menghitung memori bersama — seperti shared library — sekali per proses yang memetakannya. Jika 50 proses masing-masing memetakan shared library 100 MB, total jumlah RSS membengkak 4.900 MB melebihi biaya fisik sebenarnya. Gunakan smem dengan pelaporan PSS untuk menghilangkan penghitungan ganda ini.

Bagaimana cara menemukan proses mana yang memicu Linux OOM killer?

Jalankan dmesg | grep -i "oom|killed process" atau journalctl -k | grep -i oom. Kernel mencatat nama proses yang tepat, PID, dan statistik memori pada saat kejadian kill, termasuk oom_score dari semua proses yang dievaluasi.

Apa yang ditunjukkan oleh penggunaan swap yang tinggi, dan seberapa seriuskah itu?

Penggunaan swap yang berkelanjutan berarti working set sistem melebihi RAM fisik. Kernel mengkompensasi dengan melakukan paging data ke disk, yang biasanya 100–1.000x lebih lambat dari akses RAM. Bahkan aktivitas swap yang sedang menyebabkan latensi aplikasi yang terukur. Ini adalah sinyal pasti untuk mengurangi konsumsi memori, meningkatkan RAM, atau mendistribusikan ulang beban kerja.

Bisakah saya memantau penggunaan RAM di dalam container Docker menggunakan perintah Linux standar?

Perintah standar seperti free di dalam container menampilkan total RAM host, bukan batas cgroup container. Untuk metrik tingkat container yang akurat, baca /sys/fs/cgroup/memory/memory.usage_in_bytes untuk penggunaan saat ini dan /sys/fs/cgroup/memory/memory.limit_in_bytes untuk batas yang dikonfigurasi. Atau, gunakan docker stats <container_name> dari host untuk tampilan yang terformat.

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai