cat /proc/meminfo, you get these 3 values at the top:
MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB
As far as I know, the "Cached" value is disk caches made by the Linux system that will be freed immediately if any application needs more RAM, thus Linux will never run out of memory until both MemFree and Cached are at zero.
Unfortunately, "MemAvailable" is not reported by /proc/meminfo, probably because it is running in a virtual server. (Kernel version is 4.4)
Thus for all practical purposes, the RAM available for applications is MemFree + Cached.
Is that view correct?