Size: a a a

KVM (PVE/oVirt etc)

2019 December 23

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
Daniel
суть вопроса: с гипервизора видно, что процесс kvm-виртуалки ест 157 гб. Внутри самой виртуалки, с буферами можно насчитать только 52 гб. Вопрос: где могут быть оставшиеся 100 гб озу
Скорее всего, память, которую гость хотя бы раз потрогал, уже не освобождается с точки зрения хоста, пока не придёт, например, сканирование KSM, либо гостя не попросят отдать лишнее через balloon. Ну и если там включено использование hugepages, вполне вероятно, что с точки зрения хоста там куча занятых больших страниц, а у гостя там среди пустого места разбросаны используемые странички по 4К, не дающие освободить ни одной большой страницы.
источник

D

Denis in KVM (PVE/oVirt etc)
Daniel
спасибо, проверю этот вариант. а есть идеи, почему показания внутри виртуалки и с гипервизора по памяти так разнятся?
приведу аналогию, которая навряд ли чем то поможет, но все же. esxi, виртуалка винда. даже пустая без процессов, постепенно обращается к новым страницам памяти и она отдается виртуалке, постепенно виртуалка начинает занимать весь выделенный объем, но при этом использует только несколько %, в винде также если диспетчер задач открыть и посмотреть видно это. но esxi умеет видеть неиспользуемую память и шарить её.
источник

D

Denis in KVM (PVE/oVirt etc)
Sergey Vlasov
Скорее всего, память, которую гость хотя бы раз потрогал, уже не освобождается с точки зрения хоста, пока не придёт, например, сканирование KSM, либо гостя не попросят отдать лишнее через balloon. Ну и если там включено использование hugepages, вполне вероятно, что с точки зрения хоста там куча занятых больших страниц, а у гостя там среди пустого места разбросаны используемые странички по 4К, не дающие освободить ни одной большой страницы.
опередили, про это и говорил)
источник

D

Daniel in KVM (PVE/oVirt etc)
внутри виртуалки:
cat /proc/sys/vm/nr_hugepages
0
источник

D

Daniel in KVM (PVE/oVirt etc)
на гипервизоре тоже. большие страницы отключены
источник

D

Daniel in KVM (PVE/oVirt etc)
Sergey Vlasov
Скорее всего, память, которую гость хотя бы раз потрогал, уже не освобождается с точки зрения хоста, пока не придёт, например, сканирование KSM, либо гостя не попросят отдать лишнее через balloon. Ну и если там включено использование hugepages, вполне вероятно, что с точки зрения хоста там куча занятых больших страниц, а у гостя там среди пустого места разбросаны используемые странички по 4К, не дающие освободить ни одной большой страницы.
как тогда поступить в этом случае? пока нет идей, что со всем этим делать
источник

D

Denis in KVM (PVE/oVirt etc)
Daniel
как тогда поступить в этом случае? пока нет идей, что со всем этим делать
уменьшить выделенное озу для виртуалки например до 64 не вариант? например как временное решение...ну думаю это вы и сами догадались
источник

D

Daniel in KVM (PVE/oVirt etc)
Denis
уменьшить выделенное озу для виртуалки например до 64 не вариант? например как временное решение...ну думаю это вы и сами догадались
а что это даст? тот объем, что сейчас выделен нужен для того, чтобы кэш базы данных в озу помещался полностью. поэтому как временно можно, если знать зачем
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
Daniel
как тогда поступить в этом случае? пока нет идей, что со всем этим делать
В Linux пытались добавить отдачу памяти хосту, когда она освобождается в госте:
https://lwn.net/ml/linux-kernel/20190306155048.12868-1-nitesh@redhat.com/
Но, похоже, до попадания этого в релиз там ещё далеко
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
Ну и та память, которая в госте buff/cache, с точки зрения хоста в любом случае будет занятой
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
Sergey Vlasov
В Linux пытались добавить отдачу памяти хосту, когда она освобождается в госте:
https://lwn.net/ml/linux-kernel/20190306155048.12868-1-nitesh@redhat.com/
Но, похоже, до попадания этого в релиз там ещё далеко
https://github.com/niteshnarayanlal/linux-hinting/branches
вот тут, похоже, оно активно пилится до сих пор, хотя старым бранчам уже 2 года
источник

D

Daniel in KVM (PVE/oVirt etc)
Sergey Vlasov
В Linux пытались добавить отдачу памяти хосту, когда она освобождается в госте:
https://lwn.net/ml/linux-kernel/20190306155048.12868-1-nitesh@redhat.com/
Но, похоже, до попадания этого в релиз там ещё далеко
спасибо за ссылки, почитаю. но навскидку не ясно - пусть в хост систему память не возвращается, но почему она тогда выделяется больше, чем зарезервировано
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
где же больше? если виртуалке выделено 250Г, она может хоть все их сожрать, а потом уже не освободит, хотя в госте будет показываться куча свободной памяти
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
ну и плюс на хосте собственный кеш тоже жрёт память
источник

SV

Sergey Vlasov in KVM (PVE/oVirt etc)
там, кстати, можно буферизацию отключить
источник
2019 December 24

M

Maxim in KVM (PVE/oVirt etc)
Требуется скопировать qcow2 файл, вся сложность в том, что он имеет базовый диск.
запустил qemu-img convert
процесс потребляет 100% одного ядра, но io по нулям, погуглил, пишут что может потребоваться несколько дней ;(
Какие есть еще варианты?
источник

I

Ivan in KVM (PVE/oVirt etc)
куда скопировать, зачем ?
источник

M

Maxim in KVM (PVE/oVirt etc)
для миграции на более свежее железо
источник

M

Maxim in KVM (PVE/oVirt etc)
историческое наследство, смотрю базовый диск был создал акурат 30.12.2016, а диск в рабочей машине уже размером с базовый...
источник

I

Ivan in KVM (PVE/oVirt etc)
что в качестве хоста ?
источник