I am supposed to have 512MB of ram on my VM, however I see 495mb of total ram when I do free command.

I would like to know if in case my system really had "precisely" 512MB of physical ram, if in free I would see 512MB as well, or if kernel takes some ram and reserves it for itself, therefore it looks like the system has less actual memory.

I am aware that if my memory was over ~3.5 GB I would need to use PAE on 32bit kernel, but this is not the case.

The reason why I am asking is that I am paying for this VM to have 512MB and even if 17MB of ram doesn't seem to be much, I would like to get what I pay for... (it shouldn't be problem to increase ram of virtual machine by 17mb even if it require reboot).


The total memory as listed by free does not include memory mapped by hardware devices (the video card often maps a good chunk for its display buffers) nor memory used by the kernel itself.

(“The buffers used by the kernel” in the free man page refers to buffers containing user data, not to the kernel code nor to the kernel's internal data.)

If you have 512MB of RAM, it's not surprising to see 495MB available for user data. In fact, on a physical machine, I'd expect to see more than 17MB used by the video card plus the kernel. Your host is giving you what you paid for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.