虚拟机内存分布

1. 虚拟机内存分布:
HVM的guest os内存是按照e820表来布局的。
规范:
1) e820表规范规定了各段内存及类型
2) 创建虚拟机时根据配置文件的内存大小,会填写hvm_info_table表的low_mem_pgend和high_mem_pgend的值,如果内存>3.75G,
low_mem_pgend=3.75G,
high_mem_pgend=4G+内存大小-3.75G
否则
low_mem_pgend=内存大小,
high_mem_pgend=0
1) 0 —1M的内存类型相对固定,除了低位的639k可访问,其他的都算是特殊内存(保留或者用作VGA),因此该段内存在进行overcommit选页时可以排除。
2) 当内存 <= 3.75G ,内存地址空间范围为0—4G(也即内存的pfn取值范围为0--1048576),1M之后的内存分布为:
a) 1M—mem_size(内存大小)为Ram类型。
b) Mem_size—3.75G 为内存空洞(对应的mfn为mfn_invalid,不可用)
c) 3.75G-4G,为特殊内存段(主要是mmio或者固定的硬件映射),在进行overcommit选页时可以排除。
3) 当内存 > 3.75G,内存地址空间范围为0—mem_size + 0.25G,1M之后的内存分布为:
a) 1M—3.75G为Ram类型
b) 3.75G—4G,为特殊内存段(主要是mmio或者固定的硬件映射),在进行overcommit选页时可以排除。
c) 4G—mem_size + 0.25G,为Ram类型
4)RAM类型的地址范围内也存在部分地址为mfn_invalid。
3. 综合起来,也即是说在选页时应该将0-1M(pfn范围为0 - 255)以及3.75-4G(pfn范围为983040 - 1048575 )这些特殊用途的地址空间排除掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值