使用 Linux 3+ 内核后 xen 来宾中分配的内存差异

使用 Linux 3+ 内核后 xen 来宾中分配的内存差异

有人可以向我解释一下为什么相同配置的访客内存存在差异吗?

  • 管理程序: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+ 内存管理的变化?

相关内容