Разница в распределенной памяти в гостях xen с Linux 2.6.18 и 2.6.32

Может кто-нибудь объяснить мне, почему есть разница в доступной памяти на гостях с такой же конфигурацией:

Гипервизор:xen 4.2 64 бит

VM1: Centos 5.7 с 2.6.18-274.el5xen,

Назначенная память от xen точно такая же, как и у гостевой памяти 524288k (512м)

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 clear показал 2.5mb для кода ядра и 23mb как зарезервированный.

VM2: redhat6.0 с 2.6.32

free -k

total       used     free     shared    buffers   cached
502224     122064     380160     0       7636      32648

Для тех же ресурсов RHEl6.0 с pvopskernel показывает 502224k.

Вопрос 2:

Что может быть причиной такого поведения, может ли это быть как-то связано с ядром pvops (linux-kernel с поддержкой xen)

4 ответа

Q1: Вероятно, используется в аварийном ядре (?)

Q2: я не видел такого поведения на SLU11 SP2 DomU (также ядро ​​Linux 3.0, без pvops).

Что я вижу в dmesg - это RAM-диск в Ubuntu - этот диск, вероятно, не будет освобожден позже?

Не уверен здесь, так как ваш dmesg output просто показывает XEN-часть загрузочного процесса, а не следующий "нормальный" загрузочный процесс ОС.

Вопрос 1:

Почему free показал точную память, где dmesg clear показал 2.5mb для кода ядра и 23mb как зарезервированный.

Я не уверен, что ваша интерпретация верна. free показывает вам всего 524288k и так dmesg, dmesg показывает, что во время загрузки ядро ​​и связанные с ним резервирования занимают примерно 25 м, оставляя доступным 500984 тыс. Позже, когда вы бежите freeЕсть и другие программы, поэтому доступно меньше памяти. Но оба сообщают об одном и том же общем количестве в VM1.

Вопрос 2:

Причиной такого поведения может быть то, что это как-то связано с ядром pvops (linux-kernel с поддержкой xen) или из-за каких-либо изменений в управлении памятью в Linux 3.0+.

Я думаю, вы спрашиваете, почему эти две виртуальные машины отличаются? Я собираюсь пойти с ответом: "недостаточно информации". Существует множество причин, по которым две виртуальные машины могут сообщать различную информацию, но ни одна из них не обязательно связана с тем фактом, что они являются DomU в Xen (я подозреваю, что у вас будут похожие различия на голом металле, на VMware и т. Д.):

  1. У них разное количество процессоров
  2. Они используют разные загрузочные строки (VM1 имеет ro root=/dev/VolGroup00/LogVol00 console=xvc0 graphical utf8 и VM2 имеет root=UUID=ef8a64ee-140d-46b5-8061-231d81e1c7a0 ro console=hvc0 quiet splash $vt_handoff
  3. Ядра могут быть скомпилированы с совершенно разными значениями по умолчанию (и, скорее всего, так и есть, поскольку VM1 основана на RedHat, а VM2 основана на Debian)

Я не знаю, если вы это сделали, но если вы не пытались проверить параметры vm mem и проверить это резервирование памяти для вашего vm с помощью "xl list"

http://xenbits.xen.org/docs/4.2-testing/man/xl.cfg.5.html

Спасибо

Да , как я уже догадался, это ограничение гостей xen с linux. Похоже, что используемое вами ядро ​​может обнаружить только 32 ГБ памяти для dom0.

Другие вопросы по тегам