blob: 8e76c5628eb8430b460a0e652c5eca40c9bceb96 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
"Cannot allocate memory" when boots a VM > 1026GB memory with -accel kvm
Description of problem:
I can boot an empty VM using command `qemu-system-x86_64 -m 1026G -accel kvm -vnc :1` or `qemu-system-x86_64 -m 8T -vnc :1`
But when I use `qemu-system-x86_64 -m 1027G -accel kvm -vnc :1`, it will not boot:
```
root@debian11:~# qemu-system-x86_64 -m 1027G -accel kvm -vnc :1
qemu-system-x86_64: kvm_set_user_memory_region: KVM_SET_USER_MEMORY_REGION failed, slot=1, start=0x100000000, size=0x10000000000: Cannot allocate memory
kvm_set_phys_mem: error registering slot: Cannot allocate memory
Aborted
```
Which means, with `-accel kvm`, it only can boot a VM which memory <= 1026G, but without these args, it can boot whatever you want.
Steps to reproduce:
1. sysctl vm.overcommit_memory=1 # enable overcommit first
2. qemu-system-x86_64 -m 1027G -accel kvm -vnc :1
Additional information:
The qemu I use is compiled from the latest source, not the package provided by debian.
Hardware is `PowerEdge R630` with `E5-2630 v4` * 2, 128G physical RAM.
|