INQUIRIES about MemAvailable calculation methods

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, everyone,

I hope this email finds you well. I am a kernel developer and have been very
interested in memory management and related data statistics recently. I
noticed that there is a property called MemAvailable in /proc/meminfo. It is
indeed helpful to estimated the available memory of my machine. Out of curiosity,
however,  I would like to inquire about some details with you:

> Currently, the amount of memory that is available for a new workload,
> without pushing the system into swap, can be estimated from MemFree,
> Active(file), Inactive(file), and SReclaimable, as well as the "low"
> watermarks from /proc/zoneinfo.
1. As described in patch 34e431b0ae398fc54ea69ff85ec700722c9da773, the estimation
   of MemAvaild takes `without pushing the system into swap` into account.
   Is this for performance consideration?
2. when I raise the memory watermark through /proc/sys/vm/watermark_scale_factor,
   the value of MemAvailable sharply decreases. After investigation, this decreasement
   mainly comes from the adjustment of mem watermark. Why shuoud we take the
   change of mem watermark into consideration? Is it also for performance
   consideration? Why the performance loss must be considered even for embedded
   devices that focus more one available memory ? 
3. Assume that the performance loss caused by swap is tolerable on specific
   embedded devices. Is it more reasonable to use MemAvailable plus the fluctuation
   value of memory valuation due to watermark adjustment as the true available
   memory of these devices?

Thank you for considering my inquiry. I eagerly anticipate the opportunity to connect
with you and gain insights from your wealth of knowledge and experience.

Warm regards,

Jinhao Chen
ZTE Corporation.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux