У меня есть хост Linux rhel xen, на котором будет работать много 32-битных гостей. (Гости должны быть 32bit). У сервера 48 ГБ оперативной памяти, и в настоящее время на нем работает ядро xen, но оно видит только 16 ГБ оперативной памяти на dom0.
Есть ли способ избежать этой проблемы? Каждому гостю нужно всего 256-512 МБ
Безнадежно, но любые предложения были бы отличными.
Хитрость здесь в том, что разрядность гипервизора Xen и разрядность ядра dom0 и других гостей могут быть разными.
Вы можете запустить 64-битный гипервизор и иметь 32-битный dom0 и гостей.
Также следует отметить, что dom0 не управляет памятью, а гипервизор Xen.
В вашем dom0 вы увидите только память, выделенную для dom0 Xen. Гипервизор Xen (если он 64-битный (или даже 32-битный pae должен работать)) может обрабатывать больший объем памяти. top покажет объем памяти dom0, который вы проверили, но xm top (или xentop) покажет объем памяти, о котором знает Xen. Проверьте xm top (xentop) и посмотрите, знает ли Xen обо всей памяти. Если нет, вы сможете установить 64-битную версию гипервизора xen (не то чтобы это отличается от ядра dom0, которое все еще может быть 32-битным - на самом деле рекомендуется, чтобы оно было 32-битным по соображениям производительности - см. http://www.slideshare.net/xen_com_mgr/6-stefano-spvhvm
В соответствии с http://www.redhat.com/rhel/compare/
[3] Ядро «SMP» поддерживает максимум 16 ГБ основной памяти. В системах с более чем 16 ГБ оперативной памяти используется ядро "Hugemem". В определенных сценариях рабочей нагрузки может быть выгодно использовать ядро «Hugemem» в системах с более чем 12 ГБ основной памяти.
[4] Ядро x86 "Hugemem" не входит в Red Hat Enterprise Linux 5 или 6.