浅析华为云Stack nova组件对CPU内存资源的管理

举报
李耳King 发表于 2020/12/28 11:19:16 2020/12/28
【摘要】 系统性的分析nova对系统中的CPU内存资源是如何分配和管理容量的。

内存逻辑上使用分配一般分为下面图示中的几部分:

1.png

内存已使用量 = 虚拟机规格内存 + overhead内存(Qemu管理开销) +I层预留内存

虚拟化域内存总量= (主机物理内存总量- 大页内存- 小页内存预留) * 内存超分比+ 大页内存+ 小页内存预留- I层资源预留内存

虚拟化域已用内存= 内存已使用量 - I层资源预留内存

超分内存总量= 主机物理内存总量 - 小页内存预留- 大页内存总量

超分内存已使用量 = 内存已使用量 - 小页内存预留 - 大页内存总量

内存超分比 = 超分内存已使用量/ 超分内存总量


【分析方法】

可通过nova-ext的hypervisor的扩展接口查询容量,其中内存总量为实际的总量减去I层预留的内存。

curl -i --insecure -X GET https://compute-ext.localdomain.com:8880/v1.0/os-hypervisors/detail?availability_zone=az1.sjzjszy1 -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token:$(openstack token issue | awk '/ id /{print $4}')"

具体需要关注的参数值如下。

虚拟化域内存总量:virtual_memory_mb_total

虚拟化域已用内存:virtual_memory_mb_used

虚拟化域可用内存:free_ram_mb = 虚拟化域总量-虚拟化域已用

I层预留内存:reserved_host_memory_mb

虚拟机预留内存:small_page_reserved

CPU:总量=VCPU总量*cpu_allocation_ratio(复用比可以多处设置,优先级顺序由高到低依次为:主机组标签、CPSWEB多网元分组、 CPSWEB 界面配置下openstack里面的nova默认配置项)

内存复用比:不建议使用,如果需要配置只能通过后台命令行开启,然后在cpsweb界面配置下openstack里面的nova默认配置项里面配置内存复用比。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。