KVM优化技术,美团开放平台--邱剑

基于KVM现有选项做一些优化。视频地址:http://www.osforce.cn/course/77/learn#lesson/80

CPU调优:

1、Context switch(用户态到内核态的优化)。ring0->nernel mode,ring 3->user mode;

设置:宿主机BIOS中开启intel VT-X

2、缓存优化  Cache-Node Binding

将qemu进程绑定到特定的CPU node或者core上---避免L2/L3Cache miss

Node binding VS core binding

设置:task set

Memory调优

地址Address转换和物理空间Space优化

1、Addressing-EPT(SLAT)硬件加速

2、Addressing-HugePage 降低Page table尺寸,降低查找缓存(TLB)的Cache-miss,加速VM内存地址转换;默认PageSize为4KB/ HugePage size为2M;

Transparent hugepage:kernel进程khugepaged周期性扫描内存,自己主动将地址连续可合并的普通4KB page合并为2MB Hugepage.社会自方法:sysctl -w sys.kernel.mm.transparent_huge....

3、对空间的优化 Space-KSM:kernel same-page merging

kernel进程ksmd周期性扫描内存,将内容同样的Page合并,降低物理内存使用量

I/O调优:

1、Storage 2、Network间数据交换借口,简化流程

full virtualization技术无需改动Guest OS,则不存在虚拟化层和Guest OS层的特别配合导致影响效率;

virtio:半虚拟化I/O设备框架。标准化Guest和host间数据交换借口。简化流程。降低内存拷贝。提升虚拟机I/O效率

1、Storage

virtio-blk:基于virtio框架的虚拟PCI磁盘设备;

/dev/vdx

virtio-scsi:基于virtio框架的虚拟SCSI磁盘设备​:/dev/sdx

缓存模式调整

Native AIO:kernel AIO 2%~3%的优化性能。命令行參数中改动;

块设备IO调度器优化(通过sysctl -w sys.block.sdb.queue.scheduler...):

Network优化:

1、virtio-net:基于virtio框架的虚拟以太网设备

osf_v3.2.0" alt="" style="border:0px; max-width:100%">

vhost_net优化:内核进程vhost_XXXX

其它优化选项:

1、CPU:scheduler

2、Memory:NUMA

3、Storage:PCI-passthrough

4、Network:SR-IOV,PCI-Kernel

5、提升硬件指标--终级方案

相关问题

1、VT-X作用:context的上下文切换加速,用户态到内核态的高速切换。以提升其性能;

2、IO隔离和网络隔离QoS:IO隔离通过virtio-blk进行设定,有两种方式

网络隔离对带宽资源进行隔离;

3、Cgroup能够设置每一个KVM QEMU进程或线程吗?--能够找到相应的QEMU pid。对该PID进行限制,或者用libvirt会更简单

4、美团95%以上的业务都在Openstack上。

5、基于Openswitch做带宽调整;

6、openstack中KVM的恢复机制?---snapshot方式,但占用空间较大。

7、使用千兆网络带宽,没有使用分布式文件系统

8、监控:通过在Host中通过脚本进行监控

美团网 KVM虚拟化公开课学习笔记的更多相关文章

  1. LR 算法总结--斯坦福大学机器学习公开课学习笔记

    在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数   模型指给定输入xi如何去 ...

  2. Andrew N.G的机器学习公开课学习笔记(一):机器学习的动机与应用

    机器学习由对于人工智能的研究而来,是一个综合性和应用性学科,可以用来解决计算机视觉/生物学/机器人和日常语言等各个领域的问题,机器学习的目的是让计算机具有像人类的学习能力,这样做是因为我们发现,计算机 ...

  3. Web Mining and Big Data 公开课学习笔记 ---lecture1

    1.1  LOOK Finding "stuff" on the web or computer or room or hidden in data Finding documen ...

  4. Web Mining and Big Data 公开课学习笔记 ---lecture0

    0.1  课程主要内容:Big data technologies , Machine Learning and AI 0.6   OUTLINE: predict the future using ...

  5. 传智播客c/c++公开课学习笔记--邮箱账户的破解与邮箱安全防控

    一.SMTP协议 SMTP(SimpleMail Transfer Protocol)即简单邮件传输协议. SMTP协议属于TCP/IP协议簇,通过SMTP协议所指定的server,就能够把E-mai ...

  6. 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记1 IOS8概述

    首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,这个系列是我学习斯坦福IOS8公开课的个人心得体会和笔记,希望能给大家带来启发. 首先我们要知道IOS系统中的结构情况,从贴近硬件的底层到贴近用户 ...

  7. 【英宝通Unity4.0公开课学习 】(一)资源管理

    经过多次面试后发现自己对Unity3D的框架缺乏一个整体的认识. 而前面由于离职等原因总是忙于修修补补,疲于奔命,感觉相当疲惫. 还好,后来经过调整,开始淡定了起来.得特别感谢一本书哇:<高效人 ...

  8. KVM虚拟化知识的一些笔记

    一.KVM介绍 KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截.Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理. QEMU:修改过的为 KVM 虚机使 ...

  9. iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)

    一.iOS四层结构 1.Core OS 是用FreeBSD和Mach所改写的Darwin, 是开源.符合POSIX标准的一个Unix核心.这一层包含或者说是提供了整个iPhone OS的一些基础功能, ...

随机推荐

  1. ACM_整数反转

    整数反转 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定一个32位int型的整数,把这个整数反着输出,如123,输出321. ...

  2. JS——祝愿墙

    注意事项: 1.for循环的下一层注册了事件的话,事件函数中关于变量i的节点元素是不允许出现的,因为在函数加载的时候,只会加载函数名,不会加载函数体,外层for循环会走完一边,变量i一直会停留在最后一 ...

  3. Git 学习笔记(W,I,P)

    /*********************** 个人知识水平有限 有任何错误请尽情指出!!谢谢啦 我的Github 求粉 ミ ゚Д゚彡 ***********************/ 参考教程:廖 ...

  4. HDU_1023_Train Problem II_卡特兰数

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. mvc 类中对应数据库属性

    [StringLength()] //可空 对应数据库可空 [DefaultValue("")] [DisplayName("添加人用户名")] public ...

  6. mstsc windows7/10远程桌面身份验证错误 要求的函数不受支持

    之前好好的能远程桌面连接到服务器,但是今天来就不能连接上了,并提示:身份验证错误.要求的函数不受支持. 猜想可能是Windows又更新了什么鬼,后面查询资料知道是由于CredSSP加密Oracle修正 ...

  7. PHP 设计模式--基础

    设计模式的宗旨就是:重用. 在面向对象中,类是用于生成对象的代码模版,而设计模式是用于解决共性问题的代码模版. 遵循这样的模板,我们可以设快速地设计出优秀的代码. 注意,设计模式只是模板,不是具体的代 ...

  8. strcpy & memcpy区别

    这两个经常使用的函数,主要区别有: strcpy 返回值是char *, strcpy(x1, x2); x1 x2必须都是char* 类型 memcpy(x1, x2, sizeof(xx)); m ...

  9. 好用的JS数字格式化

    /* *js格式化数字代码 * *value: 要格式化的数字值 *scale: 最多保留几位小数 *zeroed: 是否保留尾0 *percented: 是否转称百分比形式 * */ functio ...

  10. Luogu P2970 [USACO09DEC]自私的放牧

    https://www.luogu.org/problemnew/show/P2970 P2970 [USACO09DEC]自私的放牧 题目描述 Each of Farmer John's N (1 ...