Silakan pertimbangkan contoh output yang saya dapatkan dari free
perintah di Ubuntu 12.04
:
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
Nilai bidang Memused
(kb_main_used) sekarang dihitung seperti ini:
used = total - free - cached - buffers
Sebelumnya, dulu:
used = total - free
Perubahan ini diperkenalkan di komit berikut https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9
Nilai menengah:
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
+/- nilai buffer / cache dihitung seperti ini:
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
Nilai buff / cache baru dihitung seperti ini:
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
Ini sama dengan buffers_plus_cached
, digunakan dalam versi sebelumnya, perbedaannya adalah bahwa sebelumnya itu digunakan secara internal, dan sekarang ini ditampilkan secara langsung, dan baris yang dihitung lebih lanjut, -/+ buffers/cache
telah dihapus
Untuk info lebih lanjut, silakan periksa komit ini, di mana perubahan ini diperkenalkan:
https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1
https://gitlab.com/procps-ng/procps/af1db90ddddddddddddd0bbbc08dbbcbcbob
Pada kolom baru available
, untuk kernel Linux yang lebih tua dari 2.6.27, nilainya sama dengan free
nilainya, tetapi untuk versi Kernel yang lebih baru, ini sedikit berbeda:
Estimation of how much memory is available for starting new
applications, without swapping. Unlike the data provided by the
cache or free fields, this field takes into account page cache
and also that not all reclaimable memory slabs will be reclaimed
due to items being in use (MemAvailable in /proc/meminfo,
available on kernels 3.14, emulated on kernels 2.6.27+,
otherwise the same as free)
Courtesy:
http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
Jadi, jawaban spesifik untuk pertanyaan Anda adalah:
- Versi baru
free
menyertakan buffer / cache dalam perhitungan Mem used/free
nilai.
- The
+/- buffers/cache
nilai yang digunakan untuk berada di sana dalam versi sebelumnya dari free
sekarang tersedia sebagai:
- - / + buffer / cache
used
= Mem used
Kolom sekarang (Perhitungannya dirinci di atas)
- - / + buffer / cache
free
tersedia sebagai nilai yang lebih akurat di kolom baru saat iniavailable
NB: Nama kb_*
variabel adalah nama internal yang digunakan dalam kode sumber.