blob: 460c20e7377da61e8c1d2307f09bb832d5e8169b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
graphic: 0.881
boot: 0.856
device: 0.786
performance: 0.680
other: 0.621
semantic: 0.575
PID: 0.551
vnc: 0.520
debug: 0.447
KVM: 0.388
permissions: 0.357
network: 0.135
socket: 0.075
files: 0.016
"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.
|