在双插槽 NUMA 主机上,具有 ≥16 个 vCPU 的 SMP 开机期间,MicroVM 会卡死

作者: daGoattttt-mehhh创建于 2026年3月9日更新于 2026年9月14日
标签Status: Awaiting author

总结:

当在双索NUMA主机上以更高的vCPU计数(例如16 vCPU)启动微VM时,客人偶尔会被挂在SMP初始化期间.

在绞刑期间,有的鞭炮vCPU线程仍然被阻塞在futex wait queue中,而来宾内核并没有完成所有二级CPU的提法.

这个问题在VM起动时随机出现,在通过狱卒来运行鞭炮时被观察到.

鞭炮版本 : 鞭炮v1.13.1

环境: 主机内核版本: 6.1.23

宾语内核版本:5.4.116(问题持续到5.10.245, 试时)

建筑: x86 64 CPU op-mode(s): 32-位, 64-位 地址大小: 46位物理, 48位虚拟 字节顺序:小 Endian CPU: 32 在线CPU列表: 0-31 供应商代号:真情报 型号名称: Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz CPU家庭:6个 型号:85 每个核心线: 2 每套核心数:8 套接字: 2 步入:4个 博戈米斯:4200.00

虚拟化特性: 虚拟化: VT-x Caches( 共和数): L1d:512 KiB(16起) L1i: 512 KiB(16例) L2:16个小米B(16个实例) L3:22个米B(2个实例) 诺玛: NUMA节点: 2 NUMA节点0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 NUMA节点1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 脆弱性: 收集数据取样:缓解;微码 Itlb 多重击: KVM: 缓解:分拆大页面 L1tf: 缓解; PTE 倒置; VMX 条件缓存冲, SMT 易用 Mds:缓解; Clear CPU 缓冲; SMT 脆弱 熔化:缓解;PTI Mmio stale 数据: 缓解; 清除CPU 缓冲; SMT 脆弱 Reg 文件数据取样:未受影响 退缩:缓解;IBRS Spec Rstack 溢出:未受影响 光谱存储绕行: 减轻; 通过 prctl 禁用光谱存储旁通 Spectre v1: 缓解;用户复制/扫描屏障和 用户指针消毒 Spectre v2: 缓解; IBRS; IBPB 有条件; STIBP 有条件; RSB 填充; PBRSB- eIBRS 未受影响; BHI 未受影响 缩写 : 未受影响 Tsx Async 中止: 缓解; 清除 CPU 缓冲; SSMT 易受攻击

VM 配置 : "机器配置":{ "vcpu count": 16, (英语). "mem size mib": 72817 (英语). "m":虚也. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

重现步骤: 使用狱卒在一双口袋NUMA主机上运行鞭炮.

配置带有16 vCPU的微VM. . . . . . . .

内容来源: firecracker-microvm/firecracker