When you order 4 GB RAM, we guarantee you that you will get 4 GB of RAM. This is reserved on our systems and not oversold to ensure stability. However, with Linux you will find inside your VPS less RAM than ordered when you use the free -m command.
When you boot Linux, there are a few resources reserved for the basics of the Linux system. This means that while your system RAM is actually 4 GB (4096 MB), it deducts memory reserved for system purposes, such as the kernel and crashkernel. When you dun dmesg, you can find the RAM reserved for the crashkernel using the following command:
dmesg | grep crashkernel
Using the following command you can find the detected amount of RAM without reservations:
dmesg | grep 'total RAM'