Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory allocation uses the wrong unit for allocation #54

Open
gbraad opened this issue Aug 16, 2017 · 3 comments
Open

Memory allocation uses the wrong unit for allocation #54

gbraad opened this issue Aug 16, 2017 · 3 comments

Comments

@gbraad
Copy link

gbraad commented Aug 16, 2017

Problem

In the driver plugin actually M is being used as the unit for Memory:

https://github.com/dhiltgen/docker-machine-kvm/blob/master/kvm.go#L37

And according to the description, this is meant to mean Megabytes:
https://github.com/dhiltgen/docker-machine-kvm/blob/master/kvm.go#L104

However, according to the libvirt documentation M is Mebibytes
https://libvirt.org/formatdomain.html#elementsMemoryAllocation

Solution

In the template MB should be used instead to allocate the correct amount of memory

Details

Currently, in docker-machine, minikube and minishift, we assign 2048 as a default for the memory. This will be treated as MB, and this should result in 2G of memory.

However, in virt-manager this VM is created with:

$ sudo virsh edit minishift
<memory unit='KiB'>2097152</memory>

image

This means that the VM is actually created with more memory assigned:

2 097 152 KiB = 2.14748365 GB

Ref
Note: this is for all the clients used docker-machine, minikube and minishift.

gbraad added a commit to gbraad/docker-machine-kvm that referenced this issue Aug 16, 2017
@gbraad gbraad changed the title Memory allocation is wrong Memory allocation used the wrong unit for allocation Aug 16, 2017
@gbraad gbraad changed the title Memory allocation used the wrong unit for allocation Memory allocation uses the wrong unit for allocation Aug 16, 2017
@gbraad
Copy link
Author

gbraad commented Aug 16, 2017

Build log and artifact:

$ minishift start --memory 2048
$ sudo virsh edit minishift
<domain type='kvm'>
  <name>minishift</name>
  <uuid>a000f98a-1d03-48e5-ac10-67afd456d8c6</uuid>
  <memory unit='KiB'>2000000</memory>
  <currentMemory unit='KiB'>2000000</currentMemory>

2 000 000 KiB = 2048 MB

Ref

@gbraad
Copy link
Author

gbraad commented Aug 16, 2017

@r2d4 @aaron-prindle Hi guys, this also affects you

@gbraad
Copy link
Author

gbraad commented Aug 21, 2017

@dhiltgen I have proposed the solution several days ago #55. Would appreciate your feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant