kvm-内存资源管理

1、基础知识

1.1、需求

需要根据实际情况,对kvm进行内存资源调整。
注意:不推荐频繁切换,否则导致虚拟机启动异常。

1.2、基本语法

1.2.1、方法1-virsh qemu-monitor-command

virsh qemu-monitor-command <虚拟机名称> --hmp --cmd 命令
 命令解析:
 查看所有信息 info
 查看内存    info balloon
 调整内存    balloon 定制容量
 特点:
 只管调整,不管系统是否重启成功

1.2.2、方法2-virsh setmem

virsh setmem <虚拟机名称> 定制容量

1.2.3、注意事项

因为它涉及到虚拟机资源的重新加载(重启主机),如果内存过小,导致系统无法启动。再一个,频繁执行次数过多导致虚拟机卡死

1.3、超限使用

原则上,宿主机的资源是不允许超限使用的,比如,我要在 100G的电脑上,存储 200G的资源。这是不可能的。
根据我们之前对虚拟磁盘的原理解析,我们知道,分配的资源和使用的资源是有区别的,实际使用的远远小于分配的资源。所以我们在分配内存的时候,可以对内存进行超配的使用

1.4、基本信息查看

1.4.1、查看配置文件

root@localhost:~# virsh dumpxml CentOS-8-x86_64 | grep -i memo
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>

1.4.2、查看虚拟机内存信息

root@localhost:~# virsh dominfo CentOS-8-x86_64 | grep memory
Max memory:     2097152 KiB
Used memory:    2097152 KiB

2、实战

2.1、调整内存

2.1.1、查看内存信息

# virsh qemu-monitor-command CentOS-8-x86_64 --hmp --cmd info balloon
balloon: actual=2048

2.1.2、调整内存信息

virsh qemu-monitor-command CentOS-8-x86_64 --hmp --cmd balloon 1024

2.1.3、确认内存信息

# virsh qemu-monitor-command CentOS-8-x86_64 --hmp --cmd info balloon
balloon: actual=1024


# virsh dumpxml CentOS-8-x86_64 | grep -i memo
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  
# virsh dominfo CentOS-8-x86_64 | grep -i memo
Max memory:     2097152 KiB
Used memory:    1048576 KiB

# 主机的内存信息和配置信息都同步更改了

2.2、超限调整内存

2.2.1、调整内存的限制

# virsh edit CentOS-8-x86_64
...
  <memory unit='KiB'>3397152</memory> # 调整了内存的最大值为3G,当前的内存大小为1
...

 2.2.2、动态调大内存为3G

virsh qemu-monitor-command CentOS-8-x86_64 --hmp --cmd balloon 3024

2.2.3、查看效果

# virsh qemu-monitor-command CentOS-8-x86_64 --hmp --cmd info balloon
balloon: actual=3024

 

posted @ 2023-05-22 16:39  小粉优化大师  阅读(205)  评论(0编辑  收藏  举报