I am trying to find a metric to use that will tell me if starting another process estimated to use N bytes of memory will have an adverse impact on system performance.
I know that the /proc/meminfo
fields MemFree
, Buffers
, and Cached
can be added together to give the total memory available to programs. However, I would prefer to not squeeze out cache that's actually being used to good effect (the workload results in disk hotspots).
The Active
entry in /proc/meminfo
seems like it could be compared with MemTotal
to determine how much memory is available (either by swapping something idle out, or by being free in the first place), but I have not been able to find much information about Active
and so I'm not sure.
Should I aim to have Active
memory as close to MemTotal
without going over as I can manage?
Is there some other way to estimate the memory behavior of running another process?