使用GoInterruptPolicy改变设备的性能
下
载地址:https://github.com/spddl/GoInterruptPolicy
[Windows
11] 怎么手动将网卡 “Interrupt
Mode”
设为 “MSI” 或 “MSI-X”
Windows 11 中手动将网卡 “Interrupt Mode” 设为 “MSI” 或 “MSI-X”
Windows 11 中手动将网卡
“Interrupt Mode” 设为 “MSI” 或 “MSI-X” :
在 Windows 11 中,手动启用网卡(网络适配器)的 Message Signaled Interrupts
(MSI) 模式(包括 MSI-X 扩展)主要通过编辑注册表实现。这是一种高级操作,适用于硬件和驱动支持 MSI 的情况(如大多数现代
Intel/Realtek 网卡)。MSI 模式可减少中断共享导致的延迟,但 MSI-X(支持多队列)通常由驱动自动选择,如果硬件支持,启用
MSI 后会优先使用 MSI-X。重要警告:
- 风险高:错误编辑注册表可能导致蓝屏、设备失效或系统无法启动。必须先备份注册表(在 regedit
中导出键值)和创建系统还原点(搜索 “创建还原点”)。
- 前提条件:网卡硬件必须支持 MSI(在设备管理器 > 属性 > 详细信息 > 硬件 ID
检查 PCI 规范)。更新最新驱动(从官网下载)。不适用于所有设备;如果不支持,系统会忽略设置,但仍可能不稳定。
- 测试环境:先在非关键网卡上测试。操作需管理员权限,重启生效。
- MSI vs. MSI-X:设置 MSI 后,MSI-X 如果可用会自动启用(由驱动决定)。无法强制指定
MSI-X,除非修改驱动 INF 文件(不推荐,用户级手动难实现)。
步骤:手动通过注册表启用 MSI 模式基于 Microsoft 文档和社区验证方法,这些步骤适用于 PCI 网卡。
- 查找网卡的设备实例路径:
- 按 Win + X 打开设备管理器。
- 展开 “网络适配器”,右键你的网卡(例如 “Realtek PCIe GbE Family
Controller”)> 属性。
- 切换到 “详细信息” 选项卡,在 “属性” 下拉菜单选择 “设备实例路径”。
- 复制 “值”
中的路径,例如:PCI\VEN_10EC&DEV_8168&SUBSYS_12345678&REV_15\
ABCDEF01(这是一个相对路径)。
- 打开注册表编辑器:
- 按 Win + R,输入 regedit,以管理员身份运行。
- 导航到完整路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Enum\
[你复制的路径](例如:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\
VEN_10EC&DEV_8168&SUBSYS_12345678&REV_15\ABCDEF01)。
- 在该键下,展开或创建子键:Device Parameters\Interrupt
Management(如果不存在,右键 > 新建 > 项)。
- 配置 MSI 设置:
- 在 Interrupt Management
下,展开或创建子键:MessageSignaledInterruptProperties(右键 > 新建 > 项)。
- 在 MessageSignaledInterruptProperties 下,创建或修改 DWORD
(32 位) 值:
在 MessageSignaledInterruptProperties 下,创建或修改 DWORD (32 位) 值:
- 名称:MSISupported。
- 值:设为 1(十六进制 0x00000001,表示启用 MSI)。
- 如果已有该值,确保它是 1;如果是 0,则改为 1。
- 保存并关闭 regedit。
- 重启系统:
- 重启电脑,让更改生效。重启后,网卡驱动会尝试使用 MSI 模式。
- 验证设置:
- 检查 IRQ:在设备管理器 > 查看 > 按类型显示资源 > 展开 “中断请求 (IRQ)”。查找你的网卡:
- 如果 IRQ 为正数(如 0x00000011 (17)),仍是 Line-based(传统)模式。
- 如果为负数(如 0xFFFFFFFA (-6)),则成功切换到 MSI 模式。
- 系统信息检查:按 Win + R 输入 msinfo32,导航到 组件 > 网络 > 适配器,查看 “中断模式” 是否为
MSI 或 MSI-X。
- 性能测试:使用 LatencyMon 工具(免费下载)监控 DPC/ISR 延迟,或运行 iPerf 测试网络延迟。预期:延迟降低
20-50%,但视硬件而定。
- 如果网卡显示错误(黄色感叹号),回滚:将 MSISupported 设为 0 或删除子键,重启。
常见问题与备选
- 如果无效:硬件不支持(罕见),或驱动覆盖设置。尝试更新驱动,或在网卡属性 > 高级 > 启用
“Message Signaled Interrupts” (如果选项存在)。
- MSI-X 特定:无法直接手动强制;如果 MSI 启用后未用 MSI-X,检查驱动 INF
文件(需开发者工具)。社区报告显示,现代网卡(如 Intel I219)默认优先 MSI-X。
- 组策略备选(间接优化):某些教程建议通过 gpedit.msc(专业版可用)启用 IRQ 优先,但不直接设
MSI。路径:计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 调整中断优先级。
- 回滚:如果系统不稳,用安全模式进入 regedit 还原,或用 Windows 安装介质修复。