Solusi 1:
Arti nilai
Baris pertama berarti:
total
:RAM total (fisik) Anda (tidak termasuk bit kecil yang dicadangkan secara permanen oleh kernel untuk dirinya sendiri saat startup); itu sebabnya itu menunjukkan ca. 11,7 GiB , dan bukan 12 GiB, yang mungkin Anda miliki.used
:memori yang digunakan oleh OS.free
:memori tidak digunakan.
total
=used
+ free
shared
/buffers
/cached
:Ini menunjukkan penggunaan memori untuk tujuan tertentu, nilai ini termasuk dalam nilai untukused
.
Baris kedua memberikan nilai baris pertama yang disesuaikan. Ini memberikan nilai asli untuk used
dikurangi jumlah buffers+cached
dan nilai asli untuk free
tambah jumlah buffers+cached
, maka judulnya. Nilai-nilai baru ini seringkali lebih berarti daripada nilai-nilai baris pertama.
Baris terakhir (Swap:
) memberikan informasi tentang penggunaan ruang swap (yaitu konten memori yang telah dipindahkan sementara ke disk).
Latar Belakang
Untuk benar-benar memahami arti angka-angka tersebut, Anda memerlukan sedikit latar belakang tentang subsistem memori virtual (VM) di Linux. Versi pendeknya saja:Linux (seperti kebanyakan OS modern) akan selalu mencoba menggunakan RAM kosong untuk melakukan caching, jadi Mem: free
hampir selalu akan sangat rendah. Oleh karena itu baris -/+ buffers/cache:
ditampilkan, karena menunjukkan berapa banyak memori yang kosong saat mengabaikan cache; cache akan dibebaskan secara otomatis jika memori menjadi langka, jadi itu tidak terlalu penting.
Sistem Linux sangat kekurangan memori jika free
nilai dalam -/+ buffers/cache:
garis menjadi rendah.
Untuk detail lebih lanjut tentang arti angka, lihat mis. pertanyaannya:
- Di Linux, apa perbedaan antara "buffer" dan "cache" yang dilaporkan oleh perintah free?
- Mengapa Red Hat Linux melaporkan lebih sedikit memori kosong pada sistem daripada yang sebenarnya tersedia?
Perubahan pada procps 3.3.10
Perhatikan bahwa output dari free
diubah dalam procps 3.3.10 (dirilis pada 2014). Kolom yang dilaporkan sekarang adalah "total", "used", "free", "shared", "buff/cache", "available" , dan arti dari beberapa nilai berubah, terutama untuk menjelaskan cache slab kernel Linux dengan lebih baik.
Lihat laporan Bug Debian #565518 untuk motivasinya, dan Apa yang dilakukan perubahan pada free
keluaran dari 14,04 menjadi 16,04 artinya? untuk informasi lebih detail.
Solusi 2:
Jawaban yang diterima saat ini dari tahun 2009 sudah kedaluwarsa. Penting untuk memastikan bahwa informasi yang Anda dapatkan benar dan cocok dengan versi free
(didistribusikan dalam paket Debian procps
atau setara dalam distribusi Anda). Juga bermanfaat untuk melihat keluaran dari man free
, dan juga man 5 proc
, yang berisi informasi tentang /proc/meminfo
, file tempat free
mendapatkan datanya dari Linux.
Secara default, free
keluaran dalam kibibyte (1 kibibyte =1024 byte), seperti yang Anda lihat di halaman manual. Saya lebih suka menggunakan -h
argumen, yang menunjukkan akhiran, seperti ini:
$ free -h
total used free shared buff/cache available
Mem: 15Gi 6.1Gi 1.9Gi 301Mi 7.5Gi 8.8Gi
Swap: 979Mi 0B 979Mi
Baris pertama Mem
artinya:
total
(Mem):total memori terpasang (yaituMemTotal
dari/proc/meminfo
), ini semua memori dalam RAMused
(Mem):memori bekas, sama dengantotal - free - buffers - cache
free
(Mem):memori yang tidak terpakai (yaituMemFree
), ini semua memori yang tidak digunakan untuk apa pun (bahkan cache) di RAMshared
(Mem):ini adalah jumlah memori yang digunakan terutama untuktmpfs
(Shmem
)buff/cache
(Mem), jumlah daribuffers
dancache
:buffers
:memori yang digunakan oleh buffer kernel (Buffers
), yang merupakan memori yang dapat dimanfaatkan oleh kernelcache
:memori yang digunakan oleh cache halaman dan slab (Cached
danSReclaimable
). Cache halaman berisi konten file dalam sistem file yang di-cache ke RAM, dan umumnya merupakan hal yang baik jika jumlahnya tinggi. Saya menganggap "slab" adalah fitur caching yang serupa.
available
(Mem):ini adalah perkiraan berapa banyak memori yang tersedia untuk memulai aplikasi baru, tanpa bertukar. Ini mencakup sebagian besar memori yang dihitung dalamcache
bidang (karena cache halaman dapat dihapus untuk memulai aplikasi baru), tetapi tidak menghitung swap (karena biasanya lebih baik tidak menggunakan ruang swap yang lambat).
Baris kedua adalah Swap
. Ini penjelasan saya:
total
(Tukar):ini adalah jumlah total ruang disk yang dicadangkan untuk swap (SwapTotal
diproc/meminfo
). Anda dapat memeriksa dengan memeriksa apakah ini cocok dengan keluaranswapon -s
.used
(Swap):jumlah ruang swap disk yang sedang digunakan. Sekali lagi, Anda dapat memeriksanya dengan membandingkannya dengan keluaranswapon -s
free
(Tukar):jumlah ruang disk swap yang saat ini tidak digunakan (SwapFree
di/proc/meminfo
). Itu sama dengantotal (Swap) - used (Swap)