feat: enable support for memory ballooning feature provided by dockurr/windows image - #776
feat: enable support for memory ballooning feature provided by dockurr/windows image#776lukakama wants to merge 1 commit into
Conversation
Adds experimental support for memory ballooning feature provided by dockurr/windows image, with support for stats and upgrade of existing containers created with previous dockurr/windows versions.
|
The ballooning feature has just been released on dockur/windows v5.15 (https://github.com/dockur/windows/releases/tag/v5.15). |
|
Hello, sorry for the late response on your PR. It's been some months since the ballooning feature has released in The migration path would be needed, however I do not plan 1.0 at this moment to be backwards compatible, if that changes I can refer to the current state of the PR, but otherwise all of that can be dropped too at this moment. Waiting on your feedback :) |
|
@TibixDev The problem is that it requires a driver to be installed in the Windows guest. Only recent releases of the image now include this driver in the unattended setup, but for a lot of people (who have older installations) the ballooning will not work unless they manually install this VirtIO driver themselves. So maybe your Guest Agent / API program, can check after boot if the "Ballooning Service" is installed, and if not, automatically install that service. Or otherwise detect the WinBoat version that was used for the install (or the creation date of the files), and just disable the feature for older installs. EDIT: I now see that this pull request already fixes this problem, never mind. But it is a really advanced/complicated feature, that many people will not fully understand (including me). And that was not tested a lot. So I would hide it under an Advanced/Experimental option for now, otherwise it will raise a lot of questions. |
Summary
Adds support for dynamic memory ballooning in Windows VMs, allowing the host system to reclaim unused memory when host is under memory pressure. This feature integrates with the new dockurr/windows image's built-in ballooning feature released on 5.15 (https://github.com/dockur/windows/releases/tag/v5.15).
Fix: #522
Main changes:
Changes
Guest Server
/balloon/statusendpoint to check balloon service status/balloon/installendpoint to install the balloon serviceQMP Manager
query-ballooncommand supportWinboat Core
query-ballooncommandUI Updates
Config View
BALLOONING=Yenvironment variable in docker-compose when "Dynamic memory" is enabledHome View
Feedback and suggestions for improvement are welcome, particularly for ballooned memory stats reporting.