I have a PVE cluster where a host is currently running with 80-82% of physical memory in use and SWAP at 99% in use.
VMs are configured with memory ballooning (min and max values). However, when the VM requests additional memory, it fails:
According to the docs "When setting the minimum memory lower than memory, Proxmox VE will make sure that the minimum amount you specified is always available to the VM, and if RAM usage on the host is below 80%, will dynamically add memory to the guest up to the maximum memory specified."
Question: When memory is above 80%, what is supposed to happen when the VM requests additional memory ?
In my case, it fails. Is that the intended behavior ?
VMs are configured with memory ballooning (min and max values). However, when the VM requests additional memory, it fails:
Code:
kernel: kworker/0:1: page allocation failure: order:0, mode:0x310da
kernel: CPU: 0 PID: 23148 Comm: kworker/0:1 Kdump: loaded Not tainted 3.10.0-1127.el7.x86_64 #1
kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
kernel: Workqueue: events_freezable update_balloon_size_func [virtio_balloon]
kernel: Call Trace:
kernel: [<ffffffff9b77ff85>] dump_stack+0x19/0x1b
kernel: [<ffffffff9b1c4ac0>] warn_alloc_failed+0x110/0x180
kernel: [<ffffffff9b77b4a0>] __alloc_pages_slowpath+0x6bb/0x729
kernel: [<ffffffff9b1c9146>] __alloc_pages_nodemask+0x436/0x450
kernel: [<ffffffff9b218e18>] alloc_pages_current+0x98/0x110
kernel: [<ffffffff9b2496a5>] balloon_page_alloc+0x15/0x20
kernel: [<ffffffffc0381811>] update_balloon_size_func+0xb1/0x290 [virtio_balloon]
kernel: [<ffffffff9b0be6bf>] process_one_work+0x17f/0x440
kernel: [<ffffffff9b0bf7d6>] worker_thread+0x126/0x3c0
kernel: [<ffffffff9b0bf6b0>] ? manage_workers.isra.26+0x2a0/0x2a0
kernel: [<ffffffff9b0c6691>] kthread+0xd1/0xe0
kernel: [<ffffffff9b0c65c0>] ? insert_kthread_work+0x40/0x40
kernel: [<ffffffff9b792d37>] ret_from_fork_nospec_begin+0x21/0x21
kernel: [<ffffffff9b0c65c0>] ? insert_kthread_work+0x40/0x40
Code:
kernel: virtio_balloon virtio0: Out of puff! Can't get 1 pages
According to the docs "When setting the minimum memory lower than memory, Proxmox VE will make sure that the minimum amount you specified is always available to the VM, and if RAM usage on the host is below 80%, will dynamically add memory to the guest up to the maximum memory specified."
Question: When memory is above 80%, what is supposed to happen when the VM requests additional memory ?
In my case, it fails. Is that the intended behavior ?