你好,我刚刚开始在 rhel6 上使用 kvm,在创建 vm 之后,我尝试增加内存,但是我在 xml 文件中所做的更改并没有传播到 vm,即使在重新启动 vm 并重新启动 libvert 之后也是如此?
[root@kvm01 qemu]# virsh dominfo dev-kvm01
Id: 2
Name: dev-kvm01
UUID: 9b2bf581-2807-3116-b176-60e9c0559943
OS Type: hvm
State: running
CPU(s): 2
CPU time: 1975.3s
Max memory: 7864320 kB
Used memory: 7864320 kB
Persistent: yes
Autostart: disable
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c47,c760 (enforcing)
[iknowmed@dev-kvm01 ~]$ free
total used free shared buffers cached
Mem: 3632284 3614508 17776 0 3980 3491676
-/+ buffers/cache: 118852 3513432
Swap: 5668856 0 5668856
答案1
我相信您的客户机中可能有一个不支持 PAE(物理地址扩展)的 x86(32 位)内核。这些内核只能支持少于 4 GB 的内存。
简单的解决方案是切换到您的 Linux 发行版提供的支持 PAE 的内核(希望如此)。
更困难的解决方案是切换到 x86_64/amd64(64 位)架构,但随后您需要重新安装客户机。
编辑后添加:
或者您可能没有在 libvirt 配置中启用 PAE。
如果你这样做,virsh edit dev-kvm01
你应该看到特征如下部分:
<features>
<pae/>
<acpi/>
<apic/>
</features>
如果该<pae/>
条目不存在,请将其放在那里并重新启动客户机。
答案2
您可以按照以下步骤增加 KVM 虚拟机的内存大小。
首先关闭虚拟机
virsh shutdown dev-kvm01
完成后,验证 vm xml 文件中的内存设置,然后运行
virsh undefine dev-kvm01
virsh define dev-kvm01
现在启动虚拟机
virsh start dev-kvm01
验证虚拟机中的内存变化,我建议不要使用 Linux
free
程序来检查内存使用情况,而是可以安装一个好用的工具htop
yum install htop # For Red Hat/ CentOS / Fedora
apt-get install htop # For Debian / Ubuntu / Linux Mint
- 跑步
htop
我希望这能解决你的问题。