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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP地址信息在保险行业的创新应用与解决方案

随着数字化时代的来临&#xff0c;保险行业正积极探索新的技术手段&#xff0c;以提升服务效能、降低风险&#xff0c;并更好地满足客户需求。IP地址信息作为一种重要的数字化工具&#xff0c;在保险行业中展现了广泛的应用前景。IP数据云将深入探讨IP地址信息在保险行业中的创…

C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现

前言 我们开发的tcp客户端程序在连接服务器以后,经常会遇到服务器已经关闭但是作为客户端的我们不知道,这时候应该应该有一个机制我们可以实时监测客户端和服务器已经断开连接,如果已经断开了连接,我们应该及时报警提示用户客户端和服务器已经断开连接,本文介绍三种可以监…

VM安装Centos7

目标&#xff1a; 一&#xff0c;安装Centos7 二&#xff0c;ssh可以连接 1 新建虚拟机 一直下一步 2 直到此处&#xff0c;选择稍后安装 一直下一步直到完成。 3 选中虚拟机&#xff0c;点击设置 选择CD/DVD&#xff0c;选取ISO映像文件。 4 等待安装 并且设置root密码 5…

R语言:箱线图绘制(添加平均值趋势线)

箱线图绘制 1. 写在前面2.箱线图绘制2.1 相关R包导入2.2 数据导入及格式转换2.3 ggplot绘图 1. 写在前面 今天有时间把之前使用过的一些代码和大家分享&#xff0c;其中箱线图绘制我认为是非常有用的一个部分。之前我是比较喜欢使用origin进行绘图&#xff0c;但是绘制的图不太…

栈--数据结构

初始化栈、入栈、出栈 栈&#xff1a;只允许在一端进行插入或删除操作的线性表 栈顶&#xff08;Top&#xff09; 代码实战步骤依次是初始化栈&#xff0c;判断栈是否为空&#xff0c;压栈&#xff0c;获取栈顶元素&#xff0c;弹栈。 代码 #include <stdio.h>#define …

openEuler 社区 2024 年 1 月运作月报

概述 2024年1月底&#xff0c;openEuler委员会会议在北京召开&#xff0c;会上总结了社区2023年的运营治理成果和经验&#xff0c;并审议了openEuler社区2024年的目标和计划。 在本月SIG组的运作上&#xff0c;ROS SIG继续拓展ROS2移植版图&#xff0c;新增支持ROS2软件包若干…

七月论文审稿GPT第2.5版:微调GPT3.5 turbo 16K和llama2 13B以扩大对GPT4的优势

前言 自去年7月份我带队成立大模型项目团队以来&#xff0c;我司至今已有5个项目组&#xff0c;其中 第一个项目组的AIGC模特生成系统已经上线在七月官网第二项目组的论文审稿GPT则将在今年3 4月份对外上线发布第三项目组的RAG知识库问答第1版则在春节之前已就绪至于第四、第…

java日志框架总结(四 、JCL日志门面技术)

日志框架出现的历史顺序&#xff1a;Log4j → JUL → JCL → slf4j → logback → log4j2 一、背景 在前面博文中&#xff0c;我们分别讲述了常用的2个日志框架&#xff1a;JUL&#xff08;Java Util Logging&#xff09;、Log4J。那么如何选择使用哪一个呢&#xff1f; 根据项…

【算法】枚举——蓝桥杯、日期统计、特殊日期(位数之和)、2023、特殊日期(倍数)、跑步锻炼

文章目录 蓝桥杯日期统计特殊日期&#xff08;位数之和&#xff09;2023特殊日期&#xff08;倍数&#xff09;跑步锻炼 蓝桥杯 日期统计 日期统计 如果暴力枚举100个数的八次循环那就是1016次运算&#xff0c;时间复杂度太高了&#xff0c;好在前四次的2023是确定的&#xf…

Git的一些基本操作

初始git 我们给出下面的一个场景&#xff0c;在大学里&#xff0c;一些老师在我们做完实验之后喜欢让我们交实验报告&#xff0c;假设我们有一个比较追求完美的老师和一个勤奋的学生&#xff0c;这个学生叫做小帅&#xff0c;那天小帅桑勤奋的完成实验报告&#xff0c;在第二天…

在工业制造方面,如何更好地实现数字化转型?

实现工业制造的数字化转型涉及利用数字技术来增强流程、提高效率并推动创新。以下是工业制造领域更好实现数字化转型的几个关键步骤&#xff1a; 1.定义明确的目标&#xff1a; 清楚地概述您的数字化转型目标。确定需要改进的领域&#xff0c;例如运营效率、产品质量或供应链…

【新书推荐】6.1 if语句

第六章 分支结构 计算机语言和人类语言类似&#xff0c;人类语言是为了解决人与人之间交流的问题&#xff0c;而计算机语言是为了解决程序员与计算机之间交流的问题。程序员编写的程序就是计算机的控制指令&#xff0c;控制计算机的运行。借助于编译工具&#xff0c;可以将各种…