OS-6988: bhyve wastes 1GB of RAM for each VM using more than 3GB


Issue Type:Bug
Priority:4 - Normal
Created at:2018-05-30T15:15:58.520Z
Updated at:2018-06-12T08:28:24.901Z


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)

Fix Versions

2018-06-21 Underwater Reactor (Release Date: 2018-06-21)

Related Links


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.


Comment by Hans Rosenfeld [X]
Created at 2018-06-11T16:12:20.427Z

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.

Comment by Jira Bot
Created at 2018-06-11T22:21:18.585Z

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 <john.levon@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>