Я пытаюсь обновить ОЗУ на виртуальной машине Xen без перезагрузки. Хотя это выглядит работающим с хост-узла, виртуальная машина не использует обновленную память.
Обновление с 756 МБ до 1024 МБ. Ниже приведены команды, которые я использовал, а также соответствующая информация.
xm list vm2 Name ID Mem VCPUs State Time(s) vm2 35 768 2 -b---- 180.5
Обновление оперативной памяти на лету с помощью xm mem-set
xm mem-max vm2 1024 xm mem-set vm2 1024
Хост-узел теперь видит, что у него обновленная оперативная память,
xm list vm2 Name ID Mem VCPUs State Time(s) vm2 35 1024 2 -b---- 210.6
Однако проверка памяти на виртуальной машине по-прежнему показывает только 756 МБ,
# free -m total used free shared buffers cached Mem: 750 669 80 0 23 145 -/+ buffers/cache: 500 249 Swap: 767 106 661
Он мгновенно выбирает любое понижение уровня памяти, скажем, до 512 МБ.
Любой совет будет оценен.
Ваше ядро должно поддерживать Оперативное подключение памяти Linux
который предоставит интерфейс sysfs для конфигурации ОЗУ сервера в / sys / devices / system / memory, откуда вы можете включить / отключить модули, записав в / sys / devices / system / memory / memory [number] / state
это Статья базы знаний VMWare есть пошаговая процедура.
Вы также можете покопаться на форумах CentOS на предмет «горячего подключения памяти, не работающего на CentOS vm», поскольку он должен работать, и решение, вполне вероятно, является общей проблемой конфигурации.
Если это где-то, как в Hyper-V, то максимальный объем оперативной памяти виртуальной машины фиксируется при загрузке - драйвер баллона может скрыть оперативную память, но не может волшебным образом добавить ее к смоделированному оборудованию. Так что это, вероятно, невозможно без перезагрузки виртуальной машины.