首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KVM如何在不生成足够的页面错误的情况下为VM分配内存?

KVM如何在不生成足够的页面错误的情况下为VM分配内存?
EN

Stack Overflow用户
提问于 2021-04-16 17:08:02
回答 1查看 121关注 0票数 0

我正在尝试理解x86的KVM内存分配器。我正在做这个实验-在新启动的VM上使用mmap分配16 GB的内存(并触摸它),这样主机系统的内存使用量就增加了16 GB(当来宾开始接触mmaped区域时,主机开始将该内存分配给qemu )。在VM上分配内存时,我还使用perf stat计算qemu-system进程在分配期间生成的页面错误。我观察到qemu进程生成的页面错误数量非常少(在0-300范围内),我预计它会生成4,194,304个页面错误。(16 4KB/4KB,注意-我已经完全禁用了大页)。我错过了什么??

EN

回答 1

Stack Overflow用户

发布于 2021-06-01 17:05:22

  1. 您是否触摸了所有页面?

内核使用延迟(按需)物理页面分配,将分配推迟到需要时,并避免分配实际上永远不会使用的物理页面。内存映射通常在开始时没有附加物理页面。

  1. 您可能已经启用了巨大的页面支持

代码语言:javascript
复制
cat /proc/sys/vm/nr_hugepages
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67122330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档