LINUX.ORG.RU
ФорумAdmin

ограничение доступной памяти в гостевой машине kvm

 , , , ,


0

3

Образ vm.vdi был сконвертирован в vm.qcow2. На хосте с libvirt создана машина vm с памятью 5242880МБ, но внутри машина видит только 2956964 KБ (такое ограничение, сколько бы не добавить). Команды показывают так: virsh dommemstat vm actual 5242880 unused 2803568 available 2956964 usable 2716392

virsh dominfo vm Max memory 5242880 Kib Used memory 5242880 Kib

virsh domstat vm balloon.current=5242880 balloon.maximum=5242880 balloon.unused=2803568 balloon.available=2956964 balloon.usable=2716392

внутри машины vm cat /proc/meminfo | grep MemTotal MemTotal 2956964 kB

Откуда берется это ограничение и как его убрать? Пока решение не нашлось. Отключать в vm.xml balloon пробовали, не помогло.



Последнее исправление: vianvl (всего исправлений: 1)

Мистер @vianvl, начни с арифметики.

памятью 5242880МБ

Это пять терабайт памяти. У тебя на хосте столько есть? Судя по выводу virsh, ты имел в виду 5242880 KiB, что равно ровно 5 GiB. Не путай мегабайты и кибибайты, это основы.

Что за линукс внутри? Покажи uname -a. Как именно ты отключал balloon?

mamina_radost
()
Последнее исправление: mamina_radost (всего исправлений: 1)

Там ядро не с патчами xen или чем-то подобным? Что в параметрах ядра запущенной ОС запущенной в ВМ.

В XEN было что хост система запускалась в режиме DOM0 с ограничением общей памяти для хост системы, которая по сути тоже запускается как ВМ.

kostik87 ★★★★★
()
Ответ на: комментарий от mamina_radost

да, описка. Машина создана с 5120 МБ памяти, а 5242880 в Kib. ОС образа какой-то локальной собственной сборки под программное средство, скорее всего под ПАК, open source, к нам попало не от разработчика. В VirtualBox проблема не воспроизводится.

uname -a Linux gea 6.1.0-39-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.148-1 (2025-08-26) x86_64 GNU/Linux

Ballon отключен так: virsh edit vm машина перезагружена, вывод такой virsh domstat vm balloon.current=5242880 balloon.maximum=5242880 balloon.rss=3087364

virsh dommemstat vm rss 3271144

MemTotal внутри машины прежний.

vianvl
() автор топика
Ответ на: комментарий от kostik87

да, в конфиге ядра включены xen_balloon, скрин не могу прикрепить. например, CONFIG_XEN_BALLOON=y Спасибо, завтра про это почитаю. Отключить, чтобы проверить, вероятнее всего не получится, нет пароля пользователя root.

vianvl
() автор топика
Ответ на: комментарий от vianvl

virsh edit vm машина перезагружена

На моей памяти большая часть изменения XML требует остановки VM, а не просто перезагрузки

Flotsky ★★★
()
Ответ на: комментарий от vianvl

Если просто включен в ядре, без пересборки ядра оно не выключается, но само по себе не должно влиять. Должны быть переданы соответствующие параметры ядра, через строку параметров ядра из загрузчика, либо параметры могут быть заданы при сборке ядра.

Пароль root в общем случае не нужен, chroot или загрузка в ВМ с ISO образа.

kostik87 ★★★★★
()
Ответ на: комментарий от Flotsky

скрин не могу прикрепить. vm.xml: 5242880 5242880

/proc/cmdline BOOT_IMAGE=/vmlinuz-6.1.0-39-amd64 root=/dev/mapper/vgroup-root ro quiet loglevel=3 net.ifnames=0 biosdevname=0 fsck.repair=yes maxcpus=2 mem=5G max_bond=0

vianvl
() автор топика
Ответ на: комментарий от vianvl

Сложно судить по цифрам, которые не вижу. Как выше советовали загрузите в VM какой нибудь live cd и посмотрите сколько памяти он увидит.
Явно станет понятно где продолжить копать, полагаю что надо трогать что-то внутри VM.

Flotsky ★★★
()

memory hotplug не включен случайно?

echo online > /sys/devices/system/memory/memory*/state

в zsh прямо такая конструкция работает, в bash сделайте через find | xargs или циклом

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 2)

но внутри машина видит только 2956964 KБ (такое ограничение, сколько бы не добавить)

32-битная ОСь, что ли?

Ну можешь поставить PAE ядро. Одно приложение больше 3 Гб все равно не получит, но ОСь будет видить чуть больше. Например, 6 - вполне реально

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от vianvl

mem=5G

А это зачем?

uname -a Linux gea 6.1.0-39-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.148-1 (2025-08-26) x86_64 GNU/Linux

хост или гость?

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

файлы приложить не могу. Скорее всего что-то внутри гостевой ограничивает. Спасибо. Если решение найдется, напишу.

vianvl
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария