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

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

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

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

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

Flotsky ★★★
()

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

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

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

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

В VirtualBox проблема не воспроизводится.

Все чудесатее и чудесатее. Выкладывай конфиг ВМ (virsh dumpxml $VMNAME). Например, на https://pastebin.com

Какую ОСь указывал при создании ВМ?

router ★★★★★
()