|Priority:||4 - Normal|
|Created by:||Hans Rosenfeld [X]|
|Reported by:||Hans Rosenfeld [X]|
|Assigned to:||Hans Rosenfeld [X]|
Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-06-12T08:28:24.888Z)
2018-06-21 Underwater Reactor (Release Date: 2018-06-21)
When creating a VM with more than 3GB (current lowmem_limit), bhyve will split the memory into two areas, lowmem and highmem, separated by a 1GB gap between 3GB and 4GB. Despite this gap being unusable by the guest it will still be allocated and will go wasted.
Testing: I've been running with this change for two weeks now, without noticing any problems with my VMs. I tested VMs with 16G, 3G + 1M, 3G, and 1G. The correct amount of memory is seen by the guest, the memory maps look as expected, and as expected one or two memory segments are shown in bhyvectl with sane start addresses and sizes.
illumos-joyent commit 2d24d386afb2debdcfd0eb0aa496b2642ce2e7b7 (branch master, by Hans Rosenfeld)
OS-6988 bhyve wastes 1GB of RAM for each VM using more than 3GB
Reviewed by: John Levon <firstname.lastname@example.org>
Reviewed by: Patrick Mooney <email@example.com>
Approved by: Patrick Mooney <firstname.lastname@example.org>