Для определенной работы мне иногда требуется больше памяти в DomU (CentOS 5). Триггером для запуска задания являются некоторые условия, которые я могу проверить только в этом DomU: DomU ожидает загрузки. По окончании необходимо обработать полученные данные - лучше всего подходит RAM-диск.
Для этого сценария я установил DomU с настройкой памяти 1 ГБ минимум и 16 ГБ максимум.
Теперь я пытаюсь найти элегантный способ изменить размер памяти до макс / мин из DomU.
Первое решение для этого - использовать ssh из DomU для всех возможных Dom0, а затем запускать там команды «xm mem-set» (с помощью sudo).
Я читал кое-что о xen-store. Были упомянуты триггеры ... Это заставляет меня думать, что должен быть способ получше. Оказалось, что лучше было бы использовать баллонирование памяти.
Это должно работать в DomU:
echo $((4096*1024*1024)) >/proc/xen/balloon
Следует увеличить размер памяти до 4 ГБ.
Но: cat / proc / xen / ballon говорит:
Current allocation: 2165536 kB
Requested target: 4192256 kB
Low-mem balloon: 14611680 kB
High-mem balloon: 0 kB
Driver pages: 0 kB
Xen hard limit: 2165536 kB
Откуда же взялся этот жесткий лимит xen?
В результате у моего DomU 2 ГБ ОЗУ. xm list в Dom0 указывает, что DomU все еще имеет 1 ГБ ОЗУ ...
Что здесь не так? И да - поскольку версия DomU ниже 3.0.4, я добавил "mem = 16G" в качестве параметра загрузки ядра в мой DomU.
С Dom0 SLES11 SP1 (XEN 4.0.1) и CentOS 5.6 DomU (все еще XEN 3.0.3?) echo 4G >/proc/xen/ballon
сначала ничего не сделал - но после того, как я сделал несколько успешных xm mem-sets
от Dom0 (до 16 ГБ - работало), / proc / xen / баллон тоже работал в DomU.
вы можете использовать драйвер балуна, который есть у xen, с минимальной и максимальной памятью ... все это динамическое и встроенное