OS free memory showing Static instead Dynamic
-
Dynamic at 8/8 means you shouldn't be able to change memory while the VM is live (it's 8GiB when it runs, no more, no less).
Dynamic means when the VM runs, static can only be changed while it's halted.
-
As long Dynamic memory is Less or Equal Static, I AM ABLE to change it while VM is live to desired value (in this case, up to 16GB). The only case I have to halt the VM is to change the Static memory. So, in this case I have 16GB Static and 8GB Dynamic, I can live increase total memory up to 16GB (or reduce it) and CentOS 7 operating system recognize this memory change on the fly.
Please note that I'm just having the problem with Rocky 8, that shows 16GB of total RAM, even having limited Dynamic memory to 8GB. I'm able to decrease or increase Dynamic memory (up to 16GB set on Static), but the Rocky OS will always shows 16GB of total RAM.
-
Ah yes sorry, I didn't read it correctly. Indeed, the range can change within the static boundaries while it's up (but not changing the static boundaries themselves).
I'm suspecting an issue with the ballooning driver of the kernel maybe
-
I just installed a new VM with original CentOS 8 (not Rocky) and it behaves exact like happens on Rocky 8 and Rocky 9. Is anything I can do to fix this supposed issue with the ballooning driver of the kernel? Or is it anything that must be resolved inside XCP-ng code?
Thanks
-
Dunno, does it ring any bell @stormi ?
We tend avoid memory ballooning here (little benefits vs many quirks in some situation), so I never encountered those bugs myself
-
@olivierlambert said in OS free memory showing Static instead Dynamic:
Dunno, does it ring any bell @stormi ?
No, but it's worth trying to understand what goes on.
-
I raised the topic on IRC with Xen developers, and it turns out RHEL 8's kernel is built without
CONFIG_XEN_BALLONING
, and there's nothing we can do on hypervisor side to prevent the VM from crashing if dynamic max differs from static max in this situation.I don't know why Red Hat disabled ballooning. You could try exposing your use case to them and also to their derivatives. Since Red Hat forced them to divert from RHEL when they stopped releasing package sources to the public, they might be more open to changing the configuration for better Xen support than when they were a bug to bug compatible rebuild.
-
Thanks for your reply.
I can see that both CentOS 7 and CentOS 8 (Rocky 8/9) have the balloon modules:
CentOS 7:
$ find /usr/lib/modules/`uname -r` -iname "*balloon*" /usr/lib/modules/3.10.0-1160.83.1.el7.x86_64/kernel/drivers/hv/hv_balloon.ko.xz /usr/lib/modules/3.10.0-1160.83.1.el7.x86_64/kernel/drivers/virtio/virtio_balloon.ko.xz /usr/lib/modules/3.10.0-1160.83.1.el7.x86_64/kernel/drivers/misc/vmw_balloon.ko.xz
Rocky 8:
$ find /usr/lib/modules/`uname -r` -iname "*balloon*" /usr/lib/modules/4.18.0-477.21.1.el8_8.x86_64/kernel/drivers/virtio/virtio_balloon.ko.xz /usr/lib/modules/4.18.0-477.21.1.el8_8.x86_64/kernel/drivers/hv/hv_balloon.ko.xz /usr/lib/modules/4.18.0-477.21.1.el8_8.x86_64/kernel/drivers/misc/vmw_balloon.ko.xz
Maybe it is possible to manually load this module on system boot, but I have no idea how to do it, nor which one is the correct module for Xen. Do you have any clue?
Thanks!
-
I don't think it's either of these modules. Ballooning support for Xen is not built at all in the kernel, according to the configuration. You need to rebuild the kernel with
CONFIG_XEN_BALLONING
set in its configuration, and possiblyCONFIG_XEN_BALLOON_MEMORY_HOTPLUG
. -
@stormi said in OS free memory showing Static instead Dynamic:
I don't know why Red Hat disabled ballooning.
I have one or two ideas about this...
-
@ivanobom I have made a request for packages to be added to the Synergy repository of Alma Linux.
Give them the time to add the packages to the repository then try the Alma Linux distribution.