อะไรคือความแตกต่างระหว่าง MemFree และ MemAvailable ใน / proc / meminfo


45

คุณอาจเห็นสิ่งนี้ถ้าคุณ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
...

MemFree และ MemAvailable แตกต่างกันอย่างไร

คำตอบ:


55

TL; DR:

MemFree: จำนวนแรมจริงในหน่วยกิโลไบต์เหลือไว้โดยระบบ

MemAvailable: การประเมินจำนวนหน่วยความจำที่พร้อมใช้งานสำหรับการเริ่มต้นแอปพลิเคชันใหม่โดยไม่ต้องสลับ คำนวณจาก MemFree, SReclaimable, ขนาดของรายการไฟล์ LRU และลายน้ำต่ำในแต่ละโซน การประมาณการนั้นคำนึงถึงว่าระบบต้องการแคชของหน้าเว็บบางส่วนเพื่อให้ทำงานได้ดีและแผ่นหินที่เรียกคืนได้จะไม่สามารถเรียกคืนได้เนื่องจากรายการที่ใช้งานอยู่ ผลกระทบของปัจจัยเหล่านั้นจะแตกต่างกันไปตามระบบ

คำตอบทั้งหมดอยู่ที่นี่:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.