I'm using Ubuntu 11.10, virtualized by OpenVZ. That output of free -m shows that buffers is always equal to used.
total used free shared buffers cached
Mem: 2048 1079 968 0 0 0
-/+ buffers/cache: 1079 968
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
Is that the reason I can't run a java virtual machine, although there's 968mb of free memory?