I have virtualized operation system using LXC virtualization. That system reports wrong available memory - it is always same as free memory. By experiments I was able to use more memory than amount of reported available memory so I am sure that available memory is wrongly calculated.
Is it possible to fix this problem? I can not change type of virtualization but it is possible for me to change the configuration.
Host computer: Ubuntu 16.04
Guest computer: Ubuntu 16.04 4.4.0-22-generic #39-Ubuntu SMP Thu May 5 16:53:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/meminfo
MemTotal: 2048448 kB
MemFree: 1382508 kB
MemAvailable: 1382508 kB
Buffers: 0 kB
Cached: 418400 kB
SwapCached: 0 kB
Active: 971248 kB
Inactive: 687476 kB
Active(anon): 333484 kB
Inactive(anon): 414684 kB
Active(file): 637764 kB
Inactive(file): 272792 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2095100 kB
SwapFree: 2017328 kB
Dirty: 168 kB
Writeback: 0 kB
AnonPages: 528524 kB
Mapped: 251992 kB
Shmem: 210652 kB
Slab: 0 kB
SReclaimable: 165148 kB
SUnreclaim: 24392 kB
KernelStack: 5456 kB
PageTables: 18800 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 3119324 kB
Committed_AS: 2141108 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 69632 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 210936 kB
DirectMap2M: 1886208 kB