Apa perbedaan antara MemFree dan MemAvailable di / proc / meminfo

45

Anda mungkin melihat sesuatu seperti ini jika Anda cat /proc/meminfo:

MemTotal:        8078760 kB
MemFree:          629012 kB
MemAvailable:    1175568 kB
Buffers:          126184 kB
Cached:          2988512 kB
SwapCached:       261320 kB
Active:          4867796 kB
Inactive:        2119244 kB
Active(anon):    4465072 kB
Inactive(anon):  1895064 kB
Active(file):     402724 kB
Inactive(file):   224180 kB
Unevictable:       12068 kB
Mlocked:           12068 kB
SwapTotal:      16582652 kB
SwapFree:       13724816 kB
Dirty:               252 kB
Writeback:             0 kB
AnonPages:       3848816 kB
...

Apa perbedaan antara MemFree dan MemAvailable?

Travis Reeder
sumber

Jawaban:

55

TL; DR:

MemFree: Jumlah RAM fisik, dalam kilobyte, tidak digunakan oleh sistem.

MemAvailable: Perkiraan berapa banyak memori yang tersedia untuk memulai aplikasi baru, tanpa bertukar. Dihitung dari MemFree, SReclaimable, ukuran daftar file LRU, dan tanda air rendah di setiap zona. Perkiraan tersebut memperhitungkan bahwa sistem membutuhkan beberapa cache halaman agar berfungsi dengan baik, dan bahwa tidak semua pelat yang dapat direklamasi akan dapat direklamasi, karena item-item sedang digunakan. Dampak dari faktor-faktor tersebut akan bervariasi dari sistem ke sistem.

The jawaban lengkap di sini:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

Travis Reeder
sumber