The free memory returned is not correct on linux. Problem: file system cache and buffers are counted as "free", but the system might not be able to free them on demand. Example: Any file residing in /dev/shm is counted as free memory.
reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
In osdMemUsage.c, summing of of items shoudl be replaced by the value of MemAvailable