有人可以向我解释一下为什么相同配置的访客内存存在差异吗?
- 管理程序:xen 4.2 64 位
- 虚拟机1:Centos 5.7 和 2.6.18-274.el5xen
xen 分配的内存与 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
尽管显示:
" Memory: 500984k/524288k available (2533k kernel code, 23212k reserved, 1746k data, 196k init) "
dmesg
:http://pastebin.com/FmVRniLJ
问题1:
为什么free
显示准确的内存,同时dmesg
清楚地显示 2.5MB 用于内核代码和 23MB 保留?
- 虚拟机2:Ubuntu 12.04,3.2.0-48-
对于相同的资源,带有 pvopskernel 的 Ubuntu 12.04 显示 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)
问题2:
这种行为的原因可能是什么?这可能与 pvops 内核有关,还是因为 Linux 3.0+ 内存管理的变化?