Xen VPS 未反映使用 xm mem-set 的 RAM 升级

Xen VPS 未反映使用 xm mem-set 的 RAM 升级

我正在尝试在不重启的情况下升级 Xen VM 上的 RAM。虽然从主机节点看来它正在运行,但 VM 并未获取升级后的内存。

从 756 MB 升级到 1024 MB。以下是我使用的命令以及相关信息

xm 列表 vm2
名称 ID 内存 VCPU 状态 时间(秒)
VM2 35768 2 -b---- 180.5

使用 xm mem-set 即时升级 RAM

xm 内存最大虚拟机2 1024
xm 内存设置 vm2 1024

主机节点现在看到它已经升级了 RAM,

xm 列表 vm2
名称 ID 内存 VCPU 状态 时间(秒)
VM2 35 1024 2 -b---- 210.6

但是检查虚拟机上的内存仍然显示只有 756MB,

# 免费 -m
             已使用的、可用的、缓存的共享缓冲区总数
内存:750 669 80 0 23 145
-/+ 缓冲区/缓存:500 249
交换:767 106 661

它会立即选择任何内存降级,比如说 512 MB。

任何建议将不胜感激。

答案1

你的内核需要支持Linux 内存热插拔

它将为 /sys/devices/system/memory 下的服务器 RAM 配置提供一个 sysfs 接口,您可以通过写入 /sys/devices/system/memory/memory[number]/state 来启用/禁用模块

VMWare 知识库文章有一个循序渐进的程序。

您可能还想在 CentOS 论坛中搜索“内存热插拔在 CentOS vm 上不起作用”,因为它应该可以工作,并且解决方案很可能是一个一般配置问题。

答案2

如果与 Hyper-V 类似,则虚拟机的最大 RAM 在启动时是固定的 - 气球驱动程序可以隐藏 RAM,但不能神奇地将其添加到模拟硬件中。因此,如果不重新启动虚拟机,这很可能是不可能的。

相关内容