微软优化 Hyper-V 代码,以缩短启动时间


微软已提交 Hyper-V 更新至 Linux 6.12 内核。其中包含的大多是一些小改动,但确实有助于优化大型 Hyper-V VM 的启动时间。

  • 通过并发执行 hv_synic_init() 优化启动时间
  • 使用帮助程序读取 hv_snp_boot_ap() 中的控制寄存器
  • 在 hv_fcopy_start 中添加内存分配检查

值得一提的 Hyper-V 优化是通过允许并发执行 hv_synic_init() 函数来优化 VM 启动时间。Microsoft 工程师 Saurabh Sengar 指出,对于具有许多 CPU 的 VM(例如多达 1,780 个 vCPU),由于在 hv_synic_init() 内对每个 CPU 进行顺序初始化,Hyper-V ACPI 初始化函数可能需要数秒才能完成。

对于 Linux 6.12 及以后的版本,每个 CPU 都会并行执行该函数,从而为现有逻辑带来约 66% 的改进。但从总体上看,对于使用 Hyper-V 的超大型虚拟机来说,这只是节省了一两秒的时间。但是在拥有超大型虚拟机的云计算世界中,几秒钟的 downtime 都可能至关重要,这对于帮助尽可能快地启动或重启虚拟机来说是一个显著的改进。

更多详情可查看此处。


相關推薦

2022-11-08

得注意的地方是微软为 Linux 带来了运行嵌套监控程序(Hyper-V)或嵌套虚拟化的功能。 这组补丁是由微软的 Linux 高级工程师 Jinank Jain 在本周三发出的,补丁说明如下: 该系列补丁计划增加对运行嵌套式微软 Hypervisor(虚拟

2023-09-02

布新版本时间。 从 10 月份的 Chrome 119 开始,从代码分支到 beta 版之间的时间将缩短一周。因此,早期稳定版发布和稳定版发布的时间点都会提前一周左右。 由于代码分支和测试版发布之间的周期都缩短了一周,Chrome

2023-06-01

bsp;Kali Linux 发布了 2023.2 版本,此版本更新的亮点: Hyper-V 的新 VM 映像 Kali Linux 现在提供 Microsoft Hyper-V 的映像,拥有开箱即用的“增强会话模式”,只需运行脚本install-vm.bat,然后打开 Hyper-V 管理器并启动 VM。Hyper-V 会

2023-10-12

Windows 操作系统中的可选功能,如 .NET Framework(.NetFx3)、Hyper-V 和 Windows Subsystem for Linux,这些功能默认情况下不会安装,但可以在必要时随时添加。 VBScript(也称为 Visual Basic Sc​​ript 或 Microsoft Visual Basic Sc​​ripting Edition)

2022-04-15

及磁盘空间更小。Preview 3 版本对 Native AOT 性能进行了优化更新,以下是最新的 Native AOT 性能(与现有的 AOT 编译 “ReadyToRun” 对比): 接下来的几个 .NET 版本将持续改进 Native AOT 兼容性,且将在 dotnet SDK 中添加一流的

2022-01-07

构上进行了测试。 「Fast Kernel Headers」可能是有史以来代码规模最大的一个 Linux 内核功能,并且能显著改进内核构建时间,所以不少开发者希望这个补丁集能够在不远的将来以某种方式进行审查后,顺利进入主线内核。

2021-11-09

微软今天正式发布了 Visual Studio 2022,Visual Studio 2022 的主要功能包括: 64-bit devenv.exe 现在仅支持 64 位 Azure Cloud Services 现在支持 Azure 云服务(经典)和 Azure 云服务(扩展支持)项目 C++ v143 构建工具现在可通过 Visua

2022-07-22

OS 类型清理 Windows host:修复了 6.1.32 中的回归导致使用 Hyper-V 时 guest 挂起(bug #20787) Windows host:修复了使用 Hyper-V/NEM 模式时保存和恢复 VM 状态的可能问题 Linux and Solaris hosts:如果共享文件夹在主机端表示为符号链接

2022-03-19

t 等技术时,常见的工作流程是编辑位于 macOS 主机上的源代码,同时在 Docker 容器中运行应用程序本身,源代码通过使用 Docker 数据卷在主机和容器之间共享。 因此对位于主机系统上的文件所做的修改必须快速、可靠地同步到容

2024-07-30

的 Windows 全球大面积蓝屏死机问题,两个直接当事方——微软和 CrowdStrike 均已发布了相关技术报告。 7 月 24 日,CrowdStrike 发布 Windows 大范围蓝屏事件初步审查报告,并表示即将在公开发布的根本原因分析中详细说明全面调查结

2022-12-16

Zhen Lei 曾在较早的补丁中描述了 kallsyms_lookup_name() 的优化思路: 目前,要搜索一个符号,我们需要将'kallsyms_names'中的符号一个一个展开,然后使用展开后的字符串进行比较。这种算法的时间复杂度是 O(n)。 如果我们像地

2023-06-15

屏幕所需的时间减少了大约 4 秒。 此外,F5 路径已经过优化,调试器的启动时间和进程启动时间缩短了 5-10%。请务必注意,这些性能提升不仅限于 Unreal 游戏开发,还适用于 Visual Studio 中的所有本机调试。 .NET开发 外部 .NET

2022-10-22

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.5.7现已发布 主要更新:修复若干已知bug fixed: 节点运行时间过长时,容器

2023-04-22

维护版本,修复和/或增加了以下内容: VMM:当使用 Hyper-V 时,修正了对 CPUID 指令的 EFLAGS.TF 处理。 VMM:当在 Windows 11 上使用 Hyper-V 时,修正了在 Solaris 访客上的 MONITOR/MWAIT 崩溃 VMM: 在嵌套的可视化区域引入了常规的改进