kvm 使用 virsh 增加内存大小

· devopsnote's blog


dominfo 查看虚拟机的信息 #

$ virsh dominfo vm-ubuntu2204-1
Id:             18
Name:           vm-ubuntu2204-1
UUID:           5739d31f-d81b-4754-bf6b-9db9ddbce4a7
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       172402.6s
Max memory:     8388608 KiB
Used memory:    8388608 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: apparmor
Security DOI:   0
Security label: libvirt-5739d31f-d81b-4754-bf6b-9db9ddbce4a7 (enforcing)

其中 Max memory: 8388608 KiB 为最大内存,Used memory: 8388608 KiB 为当前内存

下面来自 GPT

virsh setmaxmem 修改虚拟机的最大内存 #

在虚拟化环境中,虚拟机通常具有两个主要的内存参数:当前内存(current memory)和最大内存(maximum memory)。当前内存是虚拟机当前实际使用的内存量,而最大内存是虚拟机允许使用的最大内存限制。

virsh 中,你可以使用 setmaxmem 命令来更改虚拟机的最大内存。以下是基本的使用方法:

1virsh setmaxmem <虚拟机名称> <最大内存大小> [--config]

其中:

可选参数:

例如,将名为 examplevm 的虚拟机的最大内存设置为 4 GB(4096 MiB),并且在虚拟机关闭状态下生效:

1virsh setmaxmem examplevm 4096MiB --config

执行 #

1$ virsh shutdown vm-ubuntu2204-1
2$ virsh setmaxmem vm-ubuntu2204-1 16384MiB --config

virsh setmem 修改虚拟机的内存配置 #

请确保指定的最大内存大小不超过主机实际可用的物理内存。

在修改这些配置时,请注意虚拟机的操作系统和虚拟机配置是否支持所做的更改。

virsh 中,virsh setmem 命令用于修改虚拟机的内存配置。以下是基本的使用方法:

1virsh setmem <虚拟机名称> <内存大小> [--live] [--config]

其中:

可选参数:

例如,将名为 examplevm 的虚拟机的内存设置为 2 GB(2048 MiB),并且在虚拟机运行时生效:

1virsh setmem examplevm 2048MiB --live

请确保指定的内存大小不超过主机实际可用的物理内存。

需要注意的是,虽然 --live 参数可以在虚拟机运行时修改内存,但并非所有的操作系统和虚拟机配置都支持这个特性。在某些情况下,可能需要使用 --config 参数,需要在虚拟机关闭状态下执行。

执行 #

$ virsh setmem vm-ubuntu2204-1 16384MiB --live

result

Id:             21
Name:           vm-ubuntu2204-1
UUID:           5739d31f-d81b-4754-bf6b-9db9ddbce4a7
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       52.2s
Max memory:     16777216 KiB
Used memory:    16777216 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: apparmor
Security DOI:   0
Security label: libvirt-5739d31f-d81b-4754-bf6b-9db9ddbce4a7 (enforcing)