blob: 5a85bdab5f26f6c12367c2b0004a46cd6fd595b1 (
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
|
id = 1003
title = "\"Cannot allocate memory\" when boots a VM > 1026GB memory with -accel kvm"
state = "closed"
created_at = "2022-04-24T02:39:33.819Z"
closed_at = "2022-06-19T05:12:22.616Z"
labels = ["accel: KVM", "workflow::Triaged"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/1003"
host-os = "Debian 11.2"
host-arch = "x86"
qemu-version = "6.2.0"
guest-os = "not relavant to this problem"
guest-arch = "x86"
description = """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."""
reproduce = """1. sysctl vm.overcommit_memory=1 # enable overcommit first
2. qemu-system-x86_64 -m 1027G -accel kvm -vnc :1"""
additional = """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."""
|