前言
最近碰到个很头疼的问题,在我们公司的生产环境里,使用 AMD EPYC 9005 处理器的服务器上,Windows 虚拟机频繁出现蓝屏(BSOD),停止代码都是 0x4E – PFN_LIST_CORRUPT。查了好几天日志,终于定位到问题所在,现在分享给大家。
问题现象
在使用 AMD EPYC 9005 系列处理器(代号 Turin)的 ESXi 7.x 主机上,Windows 虚拟机频繁出现随机蓝屏事件,停止代码为 0x4E – PFN_LIST_CORRUPT。这种情况在 Cisco UCS 硬件平台上尤为常见,BIOS 版本为 CISCO_PRODUCT_ID.4.3.5f.0,CPU 微代码版本为 0x0B00211E。
根本原因分析
经过详细排查,问题的根本原因已确定为 AMD EPYC 9005 处理器的微代码缺陷。该微代码(版本 0x0B00211E)在特定条件下会导致内存管理错误,进而引发 Windows 系统的 PFN_LIST_CORRUPT 蓝屏事件。这种内存损坏是硬件级别的问题,会在虚拟化环境中表现得尤为严重。
完整解决方案
该问题通过升级到修复后的 CPU 微代码版本解决。受影响的微代码版本为 0x0B00211E,修复后的微代码版本为 0x0B002151(或更高版本)。
操作步骤:
1. 在 ESXi 主机上验证当前 CPU 微代码版本
2. 升级系统 BIOS 到硬件供应商提供的最新版本
3. 重启 ESXi 主机并验证修复效果
验证微代码版本的命令:
vsish -e get /hardware/cpu/cpulist/0 | egrep "Family|Model|Stepping|Current Revision"
示例输出:
Family: 0x1a Model: 0x02 Stepping: 0x01 Current Revision: 0x0b00211e
经验总结
这次 AMD EPYC 9005 处理器蓝屏问题的排查给我们带来了重要的经验教训。CPU 微代码问题是硬件级别的底层问题,需要硬件厂商提供 BIOS/微代码更新来彻底解决。在虚拟化环境中,这类问题会影响到所有运行在该硬件上的虚拟机,因此及时更新硬件固件对于维持生产环境的稳定至关重要。同时,我们也需要建立完善的监控体系,及时发现和定位这类潜在问题。







