扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网服务器频道 02月07日 :KVM主机提供了许多额外的特性,包括支持大页面技术,通过使用大页面技术,可以实现更加高效的内存分配,提高虚拟机(VM)的整体性能表现,并且其配置过程并不复杂。
部署KVM虚拟机非常简单:启动常用的KVM安装包,运行完整个流程就可以完成创建。这是一种创建虚拟机的快捷方式,但是这种简单方式不能提供最好的性能表现。
KVM主机提供了许多额外的特性,包括支持大页面技术,通过使用大页面技术,可以实现更加高效的内存分配,提高虚拟机(VM)的整体性能表现,并且其配置过程并不复杂。
大页面技术允许Linux内核使用一种更加高效的地址解析方式。默认情况下, Linux使用4096 byte内存页面文件来管理内存,这意味一个具有1GB RAM的虚拟机会产生26万2144个内存页面文件,将会占用大量的系统管理开销。
而Linux内核大页面技术允许你定义默认大小为2MB的大页面内存文件。在一个具有1GB RAM的虚拟机中,使用2MB的大型页面文件减少了内存页面文件的数量,Linux内核需要管理的文件数量只有512个,极大地降低了系统管理开销。
在开始分配大页面文件之前,你需要了解为大页面文件预留的内存不能在用于其它应用。因此,你需要计算想要为主机操作系统预留多少内存,为虚拟机分配多少内存。
Linux可以使用两种不同类型的大页面文件:透明大页面文件和hugetlbfs文件系统。对于用于KVM虚拟机的主机来说,使用hugetlbfs文件系统更加高效。配置过程包括两个步骤:
• 需要创建一个挂载点。使用命令mkdir /huge
• Hugetlbfs文件系统需要在/etc/fstab中进行挂载。在/etc/fstab中使用如下命令完整挂载:
hugetlbfs /huge hugetlbfs defaults 0 0
在保存这些配置之前,需要检查你的分发设定。现在的分发系统,比如我的OpenSUSE 13.1测试系统,默认使用hugetlbfs,挂载到 /dev/hugepages目录下。
下一步,你需要确保已经为虚拟机预留了需要使用的大页面文件。这需要通过/proc/sys 文件系统。为了让内核知道下次启动时应该预留512个大型页面文件,需要在/etc/sysctl.conf中包含以下命令:
vm.nr_hugepages = 512
为了确保其能够正常运行,重启你的电脑。在重启之后,使用下面的命令验证大页面文件是否已经正常初始化:
mount | grep huge
grep Huge /proc/meminfo
如果最后一条命令返回了如下结果,则证明已经正确配置了大页面文件:
msh:~ # grep Huge /proc/meminfo
AnonHugePages: 30720 kB
HugePages_Total: 512
HugePages_Free: 512
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
这时你的系统已经准备好,你可以在开启大页面文件支持的情况下启动虚拟机。使用带有--mem-path /huge参数的命令qemu-x86_64来告诉虚拟机其已经可以支持大型页面文件了。你是否感觉到性能有所改善了?之后你就可以在KVM配置文件中将大页面文件支持作为默认配置了。
使用大页面文件可以使得主机操作系统的内存管理更加高效。配置大页面文件并不复杂,但是在将其作为永久解决方案之前需要确保其已经经过良好的测试。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者