kvm qemu 优化 windows 虚拟机速度

主要优化磁盘 io 和网络 io

都选为 virtio

windows 驱动下载
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso

I also had incredibly slow performance with my virtual HDD.
The following setting on new HDD corrected everything:

Storage format: raw
Cache mode: none (not default!)
I/O mode: native

Excellent point about the storage format. Using a raw partition instead of a file container may also improve a little more. –

1
this should be the accepted answer. qcow2 works fine as a format though, but no cache and native definitely lead to a huge boost. –
John
在这里插入图片描述

<disk type=file” device=“disk”>
<driver name=“qemu” type=“raw” cache=“none” io=“native”/> “只有这一行 - 把其他所有东西都留!!!
<源文件=/mnt/DV2/XPVIORAW”/>
<target dev=“vdb” bus=“virtio”/> <address type=“pci” domain=0x0000” bus=0x00” slot=0x0a” function=0x0/>

</disk>

在这里插入图片描述
优化 Hyper-V、时钟和 cpu

我在配备第 10 代 i11 和 16GB RAM(与您的笔记本电脑规格相似)的 Chromebook 上运行性能良好的 Windows 16 虚拟机。

查看您的 libvirt XML,您可以进行一些优化:

应用所有可用的 Hyper-V 启蒙 - XML 的部分应如下所示:<hyperv>

<hyperv>
  <relaxed state='on'/>
  <vapic state='on'/>
  <spinlocks state='on' retries='8191'/>
  <vpindex state='on'/>
  <synic state='on'/>
  <stimer state='on'>
    <direct state='on'/>
  </stimer>
  <reset state='on'/>
  <frequencies state='on'/>
  <reenlightenment state='on'/>
  <tlbflush state='on'/>
  <ipi state='on'/>
</hyperv>
禁用除 - XML 部分之外的所有计时器,如下所示:hypervclock<clock>

<clock offset='localtime'>
  <timer name='rtc' present='no' tickpolicy='catchup'/>
  <timer name='pit' present='no' tickpolicy='delay'/>
  <timer name='hpet' present='no'/>
  <timer name='kvmclock' present='no'/>
  <timer name='hypervclock' present='yes'/>
</clock>
仅这两项改进就应该会带来巨大的加速。

不过,可以进行进一步的改进。我建议使用 CPU 固定 - 这会强制将每个虚拟 CPU 固定到物理 CPU 内核(或在本例中为虚拟 Crostini 内核),从而减少内核不断将虚拟 CPU 交换到不同线程的性能开销。例如,我执行以下操作(8 核主机上的 VM 为 6 个核心):

<vcpu placement='static'>6</vcpu>
<iothreads>1</iothreads>
<cputune>
  <vcpupin vcpu='0' cpuset='1'/>
  <vcpupin vcpu='1' cpuset='5'/>
  <vcpupin vcpu='2' cpuset='2'/>
  <vcpupin vcpu='3' cpuset='6'/>
  <vcpupin vcpu='4' cpuset='3'/>
  <vcpupin vcpu='5' cpuset='7'/>
  <emulatorpin cpuset='0,4'/>
  <iothreadpin iothread='1' cpuset='0,4'/>
</cputune>
我强烈建议使用 virtio 作为您的磁盘类型,因为这允许磁盘访问半虚拟化,从而进一步减少开销。这需要 Windows 端的驱动程序支持 - 启用此功能的最简单方法是重新安装 Windows,并在对磁盘进行分区时,将 virtio-win 驱动程序 ISO 插入虚拟机,以便在安装过程中可以识别磁盘。我在我的XML中使用它:

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none' io='threads' discard='unmap' iothread='1' queues='6'/>
  <source file='/var/lib/libvirt/images/win11.qcow2'/>
  <target dev='vda' bus='virtio'/>
  <boot order='2'/>
  <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</disk>
最后,请确保安装 Spice 来宾工具,以改进 VM 处理来宾和主机之间的鼠标输入的方式,并在窗口调整大小时自动更改 VM 的分辨率。

https://unix.stackexchange.com/questions/47082/how-to-improve-windows-perfomance-when-running-inside-kvm
https://www.reddit.com/r/ChromeOSFlex/comments/ucno4b/qemukvm_virtmanager_windows_vm_very_slow/
https://www.tenforums.com/virtualization/176433-mega-optimising-disk-i-o-windows-guests-kvm.html

介绍的非常详细
https://leduccc.medium.com/improving-the-performance-of-a-windows-10-guest-on-qemu-a5b3f54d9cf5

红帽官方优化文档
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/sect-virtualization_tuning_optimization_guide-introduction-kvm_architecture_overview

中文测试各种磁盘模式读写速度
https://www.lanbu.net/d/251/3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/371158.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Open CASCADE学习|分割曲线

1、通过参数进行分割 分别获得曲线的 FirstParameter 和 LastParameter &#xff0c;然后对参数进行分割&#xff0c;获得n个ui&#xff0c;并对每个ui调用D0&#xff08;获得这个点的坐标值&#xff09;或D1&#xff08;获得这个点的坐标值和切向量&#xff09;。这个方法的优…

【算法】排序——蓝桥杯、排个序、图书管理员、错误票据、分数线划定

文章目录 蓝桥杯排个序图书管理员错误票据分数线划定 蓝桥杯 排个序 题目标签&#xff1a;冒泡排序 题目编号&#xff1a;1264 排个序 我们尝试对数组a中的元素进行重新排序&#xff0c;以满足特定的条件。具体来说&#xff0c;它试图将数组a排序为升序&#xff0c;但有一个…

STM32定时器中断

定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时发出中断 定时器就是一个计数器 预分频器&#xff1a;对系统时钟进行分频得到定时器时钟频率 自动重装在值&#xff1a;计数多少个进入中断 基本定时器两个&#xff0c;tim6和7&#xff0c;挂载在apb1 通…

设计模式-行为型模式(上)

行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务&#xff0c;它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式&#xff0c;前者采用继承机制来在类间分派行为&…

Electron实战(二):将Node.js和UI能力(app/BrowserWindow/dialog)等注入html

文章目录 设置webPreferences参数安装electron/remotemain进程中初始化html中使用dialog踩坑参考文档 上一篇&#xff1a;Electron实战(一)&#xff1a;环境搭建/Hello World/打包exe 设置webPreferences参数 为了能够在html/js中访问Node.js提供fs等模块&#xff0c;需要在n…

第五讲:函数与类库

第五讲:函数与类库 第五讲:函数与类库函数定义实参变量的作用域返回值代码复用类创建和使用类继承导入类模块与库概念标准库第三方库

MySQL-----约束

目录​​​​​ 约束 一 主键约束 1-1 操作-添加单列主键 1-2 操作-添加多列主键 1-3 修改表结构添加主键 1-4 删除主键约束 二 自增长约束 2-1 指定自增长字段的初始值 2-2 删除自增列 三 非空约束 3-1 创建非空约束 3-2 删除非空约束 四 唯一约束…

26.云原生ArgoCD高级之ApplicationSet

云原生专栏大纲 文章目录 ApplicationSet介绍ApplicationSet 特性ApplicationSet 安装ApplicationSet 工作原理ApplicationSet 生成器列表类型生成器集群生成器基础使用方法Label Selector 指定集群Values 字段传递额外的参数 git生成器git目录生成参数排除目录git文件生成器矩…

NLP入门系列—词嵌入 Word embedding

NLP入门系列—词嵌入 Word embedding 2013年&#xff0c;Word2Vec横空出世&#xff0c;自然语言处理领域各项任务效果均得到极大提升。自从Word2Vec这个神奇的算法出世以后&#xff0c;导致了一波嵌入&#xff08;Embedding&#xff09;热&#xff0c;基于句子、文档表达的wor…

物联网与智慧景区的未来:机遇与挑战并存

随着科技的不断发展&#xff0c;物联网技术在智慧景区中的应用越来越广泛&#xff0c;为旅游业带来了巨大的变革。然而&#xff0c;在物联网与智慧景区的未来发展中&#xff0c;机遇与挑战并存。本文将探讨物联网与智慧景区面临的机遇和挑战&#xff0c;并提出应对措施&#xf…

【复现】WordPress html5-video-player SQL 注入漏洞_39

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 在WordPress中播放各种视频文件。一个简单&#xff0c;可访问&#xff0c;易于使用和完全可定制的视频播放器&#xff0c;适用于所…

[开源]GPT Boss – 用图形化的方式部署您的私人GPT镜像网站

在这个以数据和智能为核心的时代&#xff0c;掌握最新的技术趋势是每个企业和个人都需要做到的。这就是GPT Boss存在的意义&#xff1a;一个基于OpenAI技术的一站式GPT应用解决方案。 自2022年起&#xff0c;GPT Boss团队便投身于人工智能领域&#xff0c;将OpenAI的GPT模型带给…

回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)

回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测&#xff08;SE注意力机制&#xff09; 目录 回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测&#xff08;SE注意力机制&…

MATLAB多元线性回归对信息化进行相关性分析(附完整数据和代码)

MATLAB代码: clc;clear all;close all;warning off;%关闭警报 %% 多元线性回归 dataxlsread(归一化数据.xls); Inputdatadata(:,2:end);%载入输入数据 Outputdatadata(:,1);%载入输出数据 % index11:length(Outputdata);%顺序样本 index1randperm(length(Outputdata));%随机样…

Multisim14.0仿真(五十)基于CD4518的计数器设计

一、CD4518简介: CD4518是二、十进制(8421编码)同步加计数器,内含两个单元的加计数器。每单个单元有两个时钟输入端CLK和EN,可用时钟脉冲的上升沿或下降沿触发。可知,若用ENABLE信号下降沿触发,触发信号由EN端输入,CLK端置“0”;若用CL℃K信号上升沿触发,触发信号由C…

算法练习-三数之和(思路+流程图+代码)

难度参考 难度&#xff1a;中等 分类&#xff1a;数组 难度与分类由我所参与的培训课程提供&#xff0c;但需要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0c;旨在…

视觉SLAM十四讲学习笔记(一)初识SLAM

目录 前言 一、传感器 1 传感器分类 2 相机 二、经典视觉 SLAM 框架 1 视觉里程计 2 后端优化 3 回环检测 4 建图 5 SLAM系统 三、SLAM 问题的数学表述 四、Ubuntu20.04配置SLAM十四讲 前言 SLAM: Simultaneous Localization and Mapping 同时定位与地图构建&#…

VScode+PlatformIO 物联网Iot开发平台环境搭建

1.vscode &#xff08;1&#xff09;安装platformIO插件 &#xff08;2&#xff09;新建项目或导入已有的arduino项目 Name&#xff1a;需要填写你项目的名称&#xff1b; Board&#xff1a;点开是一个下拉框&#xff0c;但是可以输入你想要的开发板&#xff0c;这里选择&quo…

24.Android中的列表--ListView

ListView 1.简单列表--ArrayAdapter <?xml version"1.0" encoding"utf-8"?> <ScrollView xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tools&qu…

大数据分析|大数据分析的十大应用领域

有许多技术可用于分析大数据。这项工作介绍了BDA适用的各种分析技术领域如下。 &#xff08;1&#xff09;社会分析 社交分析是实时数据分析中一个重要且不断发展的分析方法。它分为社交网络(例如&#xff0c;Facebook和LinkedIn)&#xff0c;博客(例如&#xff0c;Blogger和W…