虚拟化(7)_内存虚拟化

1 、KSM

         其实对于虚拟化KSM的原理,了解一下就好,ppt里面有原理。有空可以粘过来

         承载KSM服务的有两个,ksm服务和ksmtuned服务,需要两个服务同时开启,才能够保证KSM的正常使用

systemctl status ksm

systemctl status ksmtuned

      

        关闭KSM服务

systemctl stop ksm     # 停止服务
systemctl disble ksm   #禁止服务开机启动
 

systemctl stop ksmtuned
systemctl disable ksmtuned

  KSM功能可以在线开启,在KSM功能关闭的情况下,如果虚拟运行出现内存不足,可以开启KSM服务和KSMTUNED服务,(start),宿主机会逐渐合并内存页,不影响虚拟业务的正常运行

  KSM会消耗一定量的计算机资源进行内存扫描,而且可能使系统频繁使用swap空间,导致虚机性能下降,因此建议仅将其应用测试环境,作为内存资源不足时的辅助功能,在生产环境中则最好将其关闭

2、内存气球

3、巨型页

       巨型页指的是内存中的巨型页面,做X86系统中,默认的内存页面大小是4KB,而巨型页的大写会远超过这个值,达到2M甚至1GB的容量

       巨型页的原理涉及操作系统的虚拟地址到物理地址的转化过程,操作系统为了运行多个进程,会为每个进程提供一个虚拟的进程空间。在32位操作系统上,该进程的空间为4GB,在64位的操作系统上,该进程空间的大小为2的64次方B

      1、查看巨型页

cat /proc/meminfo | grep HugePages

       

      2、设置巨型页数量

sysctl -w vm.nr_hugepages=30

 设置完成后,当前系统巨型页的数量变为30,设置永久有效,如果重启系统,该值保持不变

     3、挂载巨型页

mount -t hugetlbfs hugetlbfs  /dev/hugepages

       其中,参数-t 指定的是设备的文件系统类型,本例为hugetlbfs,,参数hugetlbfs 为挂载设备的名称,/dev/hugepages 为挂载点

     4、关闭巨型页

sysctl vm.nr_hugepages=0

umount hugetlbfs

      5、在虚机上使用巨型页

            如果某虚机要使用宿主机的巨型页,需要进行以下操作

             1、重启libvirt服务

             2、在虚拟机上开启巨型页功能

             3、关闭虚机,然后编辑虚拟机的配置文件,设置该虚机可以使用宿主机巨型页的数量

            

原文地址:https://www.cnblogs.com/sunnybowen/p/10572503.html