Can someone explain to me why there is a memory difference in Guests with the same configuration?
- Hypervisor: xen 4.2 64 bit
- VM1: Centos 5.7 with 2.6.18-274.el5xen
Assigned memory from xen is exactly the same as memory inside guest, 524288k (512m):
free -k
total used free shared buffers cached
Mem: 524288 445004 79284 0 18040 182652
-/+ buffers/cache: 244312 279976
Swap: 524280 0 524280
despite showing:
" Memory: 500984k/524288k available (2533k kernel code, 23212k reserved, 1746k data, 196k init) "
dmesg: http://pastebin.com/FmVRniLJ
Question1:
Why does free show exact memory, while dmesg clearly showed 2.5MB for kernel code and 23MB as reserved?
- VM2: Ubuntu 12.04 ,3.2.0-48-
For the same resources Ubuntu 12.04 with pvopskernel is showing 501236k.
free -k
total used free shared buffers cached
Mem: 501236 147188 354048 0 12588 87668
-/+ buffers/cache: 46932 454304
Swap: 0 0 0
dmesg: http://pastebin.com/jgNfcxc5
Memory: 481820k/524288k available (6553k kernel code, 448k absent, 42020k reserved, 6642k data, 924k init)
Question2:
What might be the reason for this behavior, can this have something to do with with pvops kernel, or is it because of changes in Linux 3.0+ Memory Management?