请选择 进入手机版 | 继续访问电脑版

grub.cfg中的kvm_reserved_mem参数设置的是系统内存还是资源池

虚拟化 虚拟化 1161 人阅读 | 5 人回复 | 2021-08-30

环境:申威6B服务器,256G物理内存
          CNware8.0.3 云宏虚拟化平台计算节点
现象:1. 配置kvm_reserved_mem=240G,命令行free显示只有128GB,资源池内存128G。
2. 配置kvm_reserved_mem=16G,free显示16G,资源池内存16G.

问题:申威6B服务器对虚拟化内存的使用有限制吗?当前环境下kvm_reserved_mem=?才能最大化分配物理内存到资源池中?
回复

使用道具 举报

回答|共 5 个

TecSupport

发表于 2021-9-3 17:36:26 | 显示全部楼层

kvm_reserved_mem这个参数,设置的是物理机需要预留多少内存给宿主机,剩余全部给虚拟机使用;如物理机配置了256G内存,如果kvm_reserved_mem=64G,那么重启后,物理机的宿主机内存free只有64G,剩余的都预留给虚拟机使用
回复

使用道具 举报

TecSupport

发表于 2021-9-3 17:44:13 | 显示全部楼层

目前,申威社区发布的内核源码V2107还是支持kvm_reserved_mem参数的,但为了避免当前预留大小歧义,后续内核会取消此参数,会使用cma参数来替代,如cma=64g

“需注意,在/boot/grub/grub.cfg 的启动项中必须要添加保留内存的内核参数。若未进行该操作,
在 qemu 启动时将无法分配内存,并报错“Cannot allocate memory”。202108 之前版本的内核在为
宿主机添加命令行启动项时,需添加内核参数“kvm_reserved_mem=XXg”,其中 XXg 是给宿主机
保留的可用内存大小,其余物理内存将划归虚拟机内存资源池,对宿主机隐藏。当不使用虚拟机时,
可以去掉此启动参数以在物理机内使用完整内存。从 202108 开始的内核版本,内存保留方式改为
cma,添加的内核参数更改为 cma=nn[MG]@[start[MG][-end[MG]]],划出的内存不再对宿主机隐藏。” --------具体可以关注,文档中心《Qemu-kvm安装使用手册_v1.9.pdf》
回复

使用道具 举报

Hex

发表于 2021-9-6 11:53:18 来自手机 | 显示全部楼层

TecSupport 发表于 2021-9-3 17:44
目前,申威社区发布的内核源码V2107还是支持kvm_reserved_mem参数的,但为了避免当前预留大小歧义,后续内 ...

目前还在开发中,技术方案也可能调整,不一定是cma哦
回复

使用道具 举报

tjjsj

发表于 2021-9-24 16:44:45 | 显示全部楼层

TecSupport 发表于 2021-9-3 17:36
kvm_reserved_mem这个参数,设置的是物理机需要预留多少内存给宿主机,剩余全部给虚拟机使用;如物理机配置 ...

为什么我配置kvm_reserved_mem=240G的时候,free显示128G呢?
回复

使用道具 举报

TecSupport

发表于 2021-9-26 17:45:32 | 显示全部楼层

tjjsj 发表于 2021-9-24 16:44
为什么我配置kvm_reserved_mem=240G的时候,free显示128G呢?

你的内核版本是多少,你可以用V2107版本内核再次验证一下,看此问题是否已解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则