Мои DomU на Xen 3.4 на RHEL5 дают сбой, когда требуется слишком много памяти:
(XEN) p2m_pod_demand_populate: Out of populate-on-demand memory!
(XEN) domain_crash called from p2m.c:1091
(XEN) Domain 15 (vcpu#3) crashed on cpu#2:
(XEN) ----[ Xen-3.4.0 x86_64 debug=n Not tainted ]----
(XEN) CPU: 2
(XEN) RIP: 0010:[<ffffffff80062c02>]
(XEN) RFLAGS: 0000000000010216 CONTEXT: hvm guest
(XEN) rax: 0000000000000000 rbx: 0000000000000001 rcx: 000000000000003f
(XEN) rdx: 0000000004812000 rsi: ffff810001000000 rdi: ffff810004812000
(XEN) rbp: 0000000000000282 rsp: ffff810007635cf0 r8: ffff810037c0288e
(XEN) r9: 00000000000023e1 r10: 0000000000000000 r11: 0000000000000001
(XEN) r12: ffff81000000cb00 r13: ffff8100007e43f0 r14: ffff81000000fc10
(XEN) r15: 00000000000280d2 cr0: 0000000080050033 cr4: 00000000000006e0
(XEN) cr3: 0000000006760000 cr2: 0000000003d47078
(XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: 0000 cs: 0010
Могу ли я как-нибудь отключить заполнение по требованию для HVM? Xen 3.3 не проявлял такого поведения ...
Простой способ:
в вашей конфигурации сделайте maxmem = memory, что отключает драйвер PoD.
В противном случае вам потребуется установить драйвер балуна в гостевой ОС.
Здесь есть хорошая деталь:
http://lists.xensource.com/archives/html/xen-devel/2008-12/msg01030.html
Что, кажется, указывает на то, что это происходит только тогда, когда вы слишком много делаете. Конечно, если ваш domU - это Linux, вы действительно следует рассмотреть возможность работы в режиме паравирта для повышения производительности.