If you purchase a VPS and your free -m output or available memory from utilities shows less max this is normal and can be due to things such as Linux memory caching, kernel (kdump), etc. This is completely normal. You can find the absolute memory allocation on your server by running the following command.
dmidecode -t memory
Example output on 1.5GB RAM VPS.
[root@status ~]# dmidecode -t memory
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: Other
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 1560 MB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 1560 MB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: Other
Speed: Unknown
Manufacturer: Red Hat
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Output of "free -m":
[root@status ~]# free -m
total used free shared buff/cache available
Mem: 1463 397 427 80 637 836
Swap: 0 0 0