[SOLVED] Enabling memory hotplugging results in incorrect RAM allocation?

Dec 19, 2017
3
0
1
Hi,

I have a personal Proxmox environment I use for testing, for it I use the community repo which is running the latest version of proxmox VE (5.2-2). Full package version list:

Code:
proxmox-ve: 5.2-2 (running kernel: 4.15.17-1-pve)
pve-manager: 5.2-1 (running version: 5.2-1/0fcd7879)
pve-kernel-4.15: 5.2-1
pve-kernel-4.15.17-1-pve: 4.15.17-9
corosync: 2.4.2-pve5
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.0-8
libpve-apiclient-perl: 2.0-4
libpve-common-perl: 5.0-31
libpve-guest-common-perl: 2.0-16
libpve-http-server-perl: 2.0-8
libpve-storage-perl: 5.0-23
libqb0: 1.0.1-1
lvm2: 2.02.168-pve6
lxc-pve: 3.0.0-3
lxcfs: 3.0.0-1
novnc-pve: 0.6-4
proxmox-widget-toolkit: 1.0-18
pve-cluster: 5.0-27
pve-container: 2.0-23
pve-docs: 5.2-4
pve-firewall: 3.0-8
pve-firmware: 2.0-4
pve-ha-manager: 2.0-5
pve-i18n: 1.0-5
pve-libspice-server1: 0.12.8-3
pve-qemu-kvm: 2.11.1-5
pve-xtermjs: 1.0-5
qemu-server: 5.0-26
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3

The server I am testing with has:
Intel Xeon E3-1246 v3 @ 3.50GHz (8 Cores, 1 Socket)
32GB RAM
2x 2TB HDD (in RAID1, so 2TB usuable space)

With memory hotplugging enabled the VPS boots with 931M RAM, and that never changes despite trying leaving it as the pre-defined value for the VM (2 GB) and changing the allocated memory to the VM via the web-interface (to 8GB).

The web interface says that it has however much RAM assigned that you set it to under hardware (2GB, 8GB, etc.) however the actual VM never updates to reflect this.

At first I wondered if this was something to do with ballooning, so created a C program to exceed the 931M RAM assigned, but all it did was exceed that then start using the swap space instead.

The hypervisor has ~28GB RAM free, so it's not due to lack of memory either.

The qemu configuration and terminal access showing this is as per below:

Code:
root@de-hyp ~ # qm terminal 101
starting serial terminal on interface serial0 (press Ctrl+O to exit)

Debian GNU/Linux 9 v6-certauth ttyS0

v6-certauth login: root
Password:
Last login: Fri May 18 15:31:59 BST 2018 on ttyS0
Linux v6-certauth 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@v6-certauth ~ free -h
              total        used        free      shared  buff/cache   available
Mem:           931M         58M        809M        2.8M         63M        770M
Swap:          2.0G          0B        2.0G

cat /etc/pve/qemu-server/102.conf
agent: 1
bootdisk: virtio0
cores: 8
hotplug: disk,network,usb,memory
ide2: none,media=cdrom
memory: 2048
name: v6-stats
net0: virtio=A2:7C:D8:08:44:AC,bridge=vmbr0,firewall=1
numa: 1
onboot: 1
ostype: l26
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=c9a034ef-61cd-4063-b1bc-3d461a33c720
sockets: 1
virtio0: local-lvm:vm-102-disk-1,size=25G
root@de-hyp ~ #

Any ideas why this wouldn't be working? As soon as I switch off memory hotplugging and reboot the VM it starts up with the correct amount of RAM assigned.

Thanks.
 
  • Like
Reactions: chrone and MrBMT
Thank you! That was it. It's now working as it should do. the local PVE 'Help' docs mentioned about adding a the line for the vCPU hotplug, but nothing about the memory one.
 
Hi, I tried on a VM with Debian 10 and kernerl 5.10 enable hotplug CPU and memory
After upgrading kernel I could activate for CPUs

modprobe acpiphp

But with pci_hotplug still:

modprobe: FATAL: Module pci_hotplug not found in directory /lib/modules/5.10.0-0.bpo.3-amd64


I tried:
/lib/udev/rules.d/80-hotplug-cpu-mem.rules

SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online"

and :
memhp_default_state=online

Nothing works..

Help please!

TASK ERROR: NUMA needs to be enabled for memory hotplug
 
Hi, I tried on a VM with Debian 10 and kernerl 5.10 enable hotplug CPU and memory
After upgrading kernel I could activate for CPUs

modprobe acpiphp

But with pci_hotplug still:

modprobe: FATAL: Module pci_hotplug not found in directory /lib/modules/5.10.0-0.bpo.3-amd64


I tried:
/lib/udev/rules.d/80-hotplug-cpu-mem.rules

SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online"

and :
memhp_default_state=online

Nothing works..

Help please!

TASK ERROR: NUMA needs to be enabled for memory hotplug
Hi,

Are you able to find solution for your problem? I am having the same problem now.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!