Why Linux Server RAM Memory Allocation Shouldn't Be?

Many customers ask, why is the RAM of my server less than the RAM allocation I purchased? For example, I bought a 1 GB plan, but only 900 MB is visible.


First, we use KVM as the virtualization of Linux VPS. Because it has become a design, there is reserved memory taken from the system in order to run the system functions.


You can see it in the following way:


This is the free memory RAM based on K


 free -k
total used free shared buffers cached
Mem: 4060884 3059616 1001268 92708 91664 1833192
-/+ buffers/cache: 1134760 2926124
Swap: 1048572 13516 1035056


Then this is reserved memory.


 dmesg | grep "Memory: "
[ 0.000000] Memory: 4043100K/4193768K available (5209K kernel code, 946K rwdata, 1832K rodata, 1204K init, 840K bss, 150668K reserved)


This means that the RAM memory is :

  • 5209K for kernel code
  • 946K for rwdata
  • 1832K for rodata
  • 1204 for init
  • 849K for bss
  • and 150668K for reserved


It is also important to note that RAM memory is not allocated to KVMs like physical servers or baremetal servers. Guest virtual machines running on the KVM hypervisor do not have dedicated physical RAM blocks assigned to them. Instead, each guest virtual machine functions as a Linux process where the host physical machine's Linux kernel allocates memory only when requested.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.