超融合HCI

关注
深信服超融合SANGFOR HCI是面向下一代数据中心的软件定义基础架构,通过虚拟化技术融合计算、存储、网络和安全等资源,并提供运维管理、容灾备份、智能监控等高级特性,帮助用户构建极简、稳定、高性能的云化数据中心基石。
故障案例库
典型场景排查思路

【HCI-VT】虚拟机内存回收实现机制

更新时间:2023-04-25
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 虚拟机编辑 | 虚拟机高级功能
适用版本 通用
虚拟机内部查看使用的内存远远小于占用物理机的实际内存
虚拟机内部使用任务管理器查看【内存使用】,使用2.9G

页面查看占用物理机的【实际使用内存】,使用7.86G



1.首先对页面呈现的数据做一些对应解释
a.虚拟机详情页面【运行状态】,【内存使用率】是呈现的虚拟机内部查看的数据,可以与linux中的free,windows任务管理器中的内存对应


b.虚拟机列表中【占用主机资源】,【实际使用内存大小】呈现的是虚拟机对应的KVM进程所占用的物理内存大小,可以与在HCI后台ps axuf | grep vmid查看到的KVM进程使用的内存对应


在HCI后台ps axuf | grep vmid


2.虚拟机在不勾选【内存回收】或者勾选【大页内存】、【高性能虚拟机】的情况下。分配给虚拟机的内存将不会回收,虚拟机实际使用的内存大小就是分配的内存大小





3.在勾选了【内存回收】功能后,按照如下算法进行回收。
windows
当虚拟机运行主机剩余物理内存大于15%时,最多只回收可回收内存的35%;
当虚拟机运行主机剩余物理内存低于15%时,最多只回收可回收内存的75%;
当虚拟机运行主机剩余物理内存低于5%时,最多只回收可回收内存的95%。

linux
每次最多回收可回收内存的35%。

以回收35%情况为例,计算公式为:
回收后的实际占用率 = 配置内存 x ( 0.65 + 0.4 x 虚拟机内存使用率 )

代码部分注释如下


4.由于CentOS7.x内核bug(参考链接),导致开启内存回收存在宕机风险,所以平台后台做了限制。即使客户在页面上配置了内存回收,也是不生效的。平台针对CentOS7.x系列的虚拟机不进行内存回收

5.需要跟客户强调的是:
内存回收机制实质上是平台再跟虚拟机抢占资源。
内存回收会影响虚拟机性能,甚至业务。
建议客户合理分配内存。
如上
本页目录
  • 问题描述
  • 有效排查步骤
  • 解决方案