27 KVM管理系统资源-管理虚拟CPU份额

2023-11-06

27 KVM管理系统资源-管理虚拟CPU份额

27.1 概述

虚拟化环境下,同一主机上的多个虚拟机竞争使用物理CPU。为了防止某些虚拟机占用过多的物理CPU资源,影响相同主机上其他虚拟机的性能,需要平衡虚拟机vCPU的调度,避免物理CPU的过度竞争。

CPU份额表示一个虚拟机竞争物理CPU计算资源的能力大小总和。用户通过调整cpu_shares值能够设置虚拟机抢占物理CPU资源的能力。cpu_shares值无单位,是一个相对值。虚拟机获得的CPU计算资源,是与其他虚拟机的CPU份额,按相对比例,瓜分物理CPU除预留外可用计算资源。通过调整CPU份额来保证虚拟机CPU计算资源服务质量。

27.2 操作步骤

通过修改分配给虚拟机的运行时间的cpu_shares值,来平衡vCPU之间的调度。

  • 查看虚拟机的当前CPU份额:

    # virsh schedinfo <VMInstance>
    Scheduler      : posix
    cpu_shares     : 1024
    vcpu_period    : 100000
    vcpu_quota     : -1
    emulator_period: 100000
    emulator_quota : -1
    global_period  : 100000
    global_quota   : -1
    iothread_period: 100000
    iothread_quota : -1
    
  • 在线修改:修改处于running状态的虚拟机的当前CPU份额,使用带**–live**参数的virsh schedinfo命令:

    # virsh schedinfo <VMInstance> --live cpu_shares=<number>
    

    比如将正在运行的虚拟机openEulerVM的CPU份额从1024改为2048:

    # virsh schedinfo openEulerVM --live cpu_shares=2048
    Scheduler      : posix
    cpu_shares     : 2048
    vcpu_period    : 100000
    vcpu_quota     : -1
    emulator_period: 100000
    emulator_quota : -1
    global_period  : 100000
    global_quota   : -1
    iothread_period: 100000
    iothread_quota : -1
    

    对cpu_shares值的修改立即生效,虚拟机_openEulerVM_能得到的运行时间将是原来的2倍。但是这一修改将在虚拟机关机并重新启动后失效。

  • 持久化修改:在libvirt内部配置中修改虚拟机的CPU份额,使用带**–config**参数的virsh schedinfo命令:

    # virsh schedinfo <VMInstance> --config cpu_shares=<number>
    

    比如将虚拟机openEulerVM的CPU份额从1024改为2048:

    # virsh schedinfo openEulerVM --config cpu_shares=2048
    Scheduler      : posix
    cpu_shares     : 2048
    vcpu_period    : 0
    vcpu_quota     : 0
    emulator_period: 0
    emulator_quota : 0
    global_period  : 0
    global_quota   : 0
    iothread_period: 0
    iothread_quota : 0
    

    对cpu_shares值的修改不会立即生效,在虚拟机openEulerVM下一次启动后才生效,并持久生效。虚拟机openEulerVM能得到的运行时间将是原来的2倍。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

27 KVM管理系统资源-管理虚拟CPU份额 的相关文章

  • docker安装kafka

    Kafka 是一个分布式流媒体平台 类似于消息队列或企业消息传递系统 kafka介绍 名词解释 producer 发布消息的对象称之为主题生产者 Kafka topic producer topic Kafka 将消息分门别类 每一类的消息

随机推荐

  • 【多模态】14、Segment Anything

    文章目录 一 Intruduction 二 Segment Anything Task 三 Segment Anything Model 四 Segment Anything Data Engine 五 Segment Anything D
  • 关于Qt pro、pri、qmake、Makefile的资源整理

    QT中PRO文件写法的详细介绍 如何在Qt Creator中创建pri文件 以及pri文件的说明 qmake的使用 跟我一起写 Makefile 一 推荐大家仔细看陈皓的和我一起写Makefile 可以通透makefile的工作原理 其次里
  • 林园价值交易策略

    文章目录 选股策略 林园6条炒股 心经 选股策略 选股时可以考虑在低市盈率 高分红的绩优龙头股和确定性高的小盘股中选 所选择的上市公司的财务指标需符合七大标准 每股盈利不低于0 3元 净利润不少于7000万元 毛利率在20 以上 净资产回报
  • 病毒反调试跟踪

    跟踪一个反调试巨多的病毒样本 1 调用 QueryPerformanceCounter反调试 这个API调用了封装ZwQueryPerformanceCounter系统调用的ntdll NtQueryPerformanceCounter 0
  • 什么是mvvm模式

    MVVM 是把 MVC 的 Controller 和 MVP 的 Presenter 改成了 ViewModel View 的变化会 动更新到 ViewModel ViewModel 的变化也会 动同步到 View 上显示 这种 动 同步是
  • vue-cli3.0 多核编译ts及内存配置(解决项目过大编译内存溢出)

    主要配置webpack插件ForkTsChecker 在vue config js中配置 module exports configureWebpack config gt 多核启动编译及内存提升 const data config plu
  • 区块链将如何改变服装、改变时尚?

    越来越多的服装公司开始注意到在某些情况下 它们需要改变自己的商业模式 以耐克为例 他们不再把自己定位成一家服装公司 相反 他们说自己是一家科技公司 碰巧生产服装 他们的衣服和鞋子通常都装有传感器 用于跟踪心率 英里数或卡路里燃烧情况 这是因
  • MySQL - 表字段的默认值约束

    设置表字段的默认值 DEFAULT 当为数据库表中插入一条新记录时 如果没有为某个字段赋值 数据库系统就会自动为这个字段插入默认值 为了达到这种效果 可通过SQL语句关键字DEFAULT来设置 设置数据库表中某字段的默认值非常简单 可以在M
  • Vue UI 组件库大起底 element VS iview VS ...

    最近接触了几个开源项目 发现大家都在用iview框架 趁机整理一下自己接触过的几个基于Vue js的UI组件库 Element 一套为开发者 设计师和产品经理准备的基于 Vue 2 0 的桌面端组件库 由饿了么前端开源的UI框架 主要用于开
  • Java多线程实现抢票

    1 1抢票系统 多人抢票 package Demo8 多个线程同时操作一个对象 买车票例子 public class TestThread4 implements Runnable private int ticket nums 10 Ov
  • Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before

    在做项目时碰到一个问题 就是一直报 java lang IllegalStateException Couldn t read row 0 col 1 from CursorWindow Make sure the Cursor is in
  • QML设计登陆界面

    QML设计登陆界面 本文博客链接 http blog csdn net jdh99 作者 jdh 转载请注明 环境 主机 WIN7 开发环境 Qt5 2 说明 用QML设计一个应用的登陆界面 效果图 源代码 main qml javascr
  • python数据处理中的日期转换处理中的to_datetime()函数(一)

    python使用的是 jupyter notebook 话不多说 直接说说主要内容吧 一 函数简介 我们可以通过输入 import pandas as pd help pd to datetime 可以得到to datetime函数的相关作
  • 第三方登录之微信扫码登录

    文章目录 1 申请微信接入 2 项目环境搭建 3 后端Controller接口 4 HTML页面代码 5 测试结果 6 补充说明 小伙伴们有各种疑问可以去参考官方文档进行详细的学习下 微信开发文档 此次介绍的将是前后端不分离的微信扫码登录
  • 2022微信小程序填充昵称头像 open-type=“chooseAvatar“

    2021年7月份之后 微信开始加强对微信用户个人信息的安全防控 收回了相关服务端接口 微信后面也推出了前端填写昵称头像的方法 官方代码如下
  • gcc 与 g++ 的区别

    gcc 和 g GCC GNU Compiler Collection GUN 编译器集合 g 是 GCC 中的 GUN C Compiler C 编译器 在已编译好的 C 或者 C 代码的前提下 GCC 编译器已提供了调用接口 可以通过执
  • matlab循环每次循环都把结果输出来,怎么把循环的每一步结果都保存下来啊

    本帖最后由 芒点DK 于 2016 12 9 11 04 编辑 各位前辈请看我的代码 clear workspaces clear clc define variables rmin 0 rmax 8 N 9 dt 1 t 0 tmax 1
  • Flutter: 为字体增加渐变色描边

    文章目录 写在前面 内容 实现描边 实现渐变 一些调整 参考 写在前面 实现如下图的效果 这个数字的内部和外部都有渐变色 内容 实现描边 在网上搜索一轮 可以看到通过用 Stack 来让两个 Text叠加 并对上一个 Text设置外部描边
  • Java接口和多态

    Java接口 Java中的接口是一种定义了一组方法签名的抽象类型 它提供了一种方式来定义类之间的协议 即类应该实现哪些方法 在本教程中 我们将探讨Java中接口的使用和实现 步骤1 定义接口 我们首先需要定义一个接口 接口使用interfa
  • 27 KVM管理系统资源-管理虚拟CPU份额

    文章目录 27 KVM管理系统资源 管理虚拟CPU份额 27 1 概述 27 2 操作步骤 27 KVM管理系统资源 管理虚拟CPU份额 27 1 概述 虚拟化环境下 同一主机上的多个虚拟机竞争使用物理CPU 为了防止某些虚拟机占用过多的物