Intel Core 12th 13th 14th 的几个问题解决方案
从 Intel® 第 12 代酷睿™桌面处理器开始引入了异构核心设计,即一个 CPU 内同时存在性能核心 Performance-core(P 核 p-core)和能效核心 Efficient-core(E 核 e-core),这种设计被习惯性称为大小核。
而 Intel® Core™ Ultra 处理器更是还加入了低功耗核心 Low Power Efficient-cores(LPE 核 lpe-core),这使得核心种类达到了 3 种,如果加上性能核超线程就达到了 4 种。
由于同时有多种核心存在,这给调度带来了一些困难。
首先在使用 Intel® 第 12 代酷睿™ 及以后产品时建议使用 Windows 11,Windows 11 有针对这些处理器进行调度优化。
*虽然某些操作不需要管理员 CMD 或 PowerShell,但我都写了管理员 CMD 或 PowerShell。
小核心全吃满,大核全看戏
常见于 Steam 下载、后台计算、视频渲染等场景。
这是一种让后台进程(不重要进程)不影响前台效率的策略,但如果你想让该应用充分利用 CPU 性能,可以参考以下解决方案。
更改 Windows 11 调度方式
简单解决方案(仅限 Windows 11)
- 直接搜索
选择电源计划
,或是控制面板 -> 硬件和声音 -> 电源选项
。 - 将首选计划调整为
平衡
。 - 打开
新版设置 -> 系统 -> 电源
。 - 将电源模式设置为
最佳性能
如果源计划不为平衡则无法使用此选项。 - 现在程序应该能调度到所有核心上。
新版设置的电源模式是一种 overlay,和 Window 10 笔记本电脑上的性能滑块(省电模式、推荐、更好的性能、最佳性能)是一个原理,都是覆盖电源计划的某些部分。
复杂解决方案(需要自行研究)
似乎 Windows 10 也有部分 Windows 11 的调度策略?
请参阅:
- https://www.bilibili.com/read/cv22139721/
- https://nga.178.com/read.php?tid=35222326
- https://www.bilibili.com/read/cv18942103/
- https://zhuanlan.zhihu.com/p/660344272
- https://www.bilibili.com/read/cv19998442/
- https://blog.xzr.moe/archives/352/
- https://www.bilibili.com/read/cv20805800/
- https://bbs.pcbeta.com/viewthread-1966999-1-1.html
- https://www.bilibili.com/read/cv23415290/
- https://www.bilibili.com/video/BV1Ve4y117Fa/
莫名其妙卡顿
可能是 Core Parking (核心停止、核心搁置、核心暂停、核心停放、核心停车、核心休眠)导致的,我在一些供电散热较差的品牌机上有遇到过此现象。
启用 Core Parking 时在低负载时可以在 任务管理器 -> CPU -> 逻辑处理器视图 -> 将鼠标放置在核心上 -> 显示 CPU XX - 已停止
看到核心 XX 已被 Parking。
Core Parking 是一个 Window 自带的节能功能,在 Windows Server 2008 R2(Windows 7)的时候就引入了,由于以前核心少 CPU,很可能遇不到核心停止的情况。而 Intel Core 12 代之后逻辑处理器大量增加,已经可以观察到核心 Parking 启用了。
“核心休眠”是 Windows Server 2008 R2 中引入的一项功能:
处理器电源管理 (PPM) 引擎和调度程序协同工作,动态调整可用于运行线程的核心数量。PPM 引擎为要调度的线程选择最小核心数。停放的核心通常没有调度任何线程,并且当它们不处理中断、DPC 或其他严格关联的工作时,它们将进入非常低的功耗状态。其余核心负责剩余的工作负载。核心休眠可以在较低使用率期间提高能源效率。
引用源(经过机器翻译) https://coderbag.com/product/quickcpu
即在系统低负载时关闭(C6 C-states)一些核心,以节省电源,然而需要时需要重新启动这些核心,会需要一些切换时间。
以下是 Core Parking 实际工作原理以及索引号含义的示例:
假设我们有一个总共 6 个核心(包括逻辑核心)的 CPU,这将是我们 CPU 能力的 100%,其中每个核心将代表大约 17%(100 / 6 = 16.6 ~17)。
例如,现在我们希望 6 个核心中的 4 个永远不会被操作系统停止,无论负载如何,那么我们将 Core Parking 比率设置为 68% (17 * 4 = 68)。这将告诉操作系统它只能停放 6 个核心中的 2 个。
如果我们将 Core Parking 比率设置为 100%,我们基本上是在告诉操作系统我们的 CPU 核心都不能停放,核心应该始终运行并具有完整的性能。
在相反的情况下,如果我们将数字设置为 0% 或接近 0%,操作系统将能够停放任意数量的核心。引用源(经过机器翻译) https://www.coderbag.com/programming-c/disable-cpu-core-parking-utility
然而微软自己说:
Core Parking 本身并不能节省电量。停放一个核心会改变调度程序的行为,将线程调度到其他线程上。这允许停放的核心保持更多空闲状态(降低其功耗),但代价是在未停放的核心上进行额外的工作(增加其功耗)。这种权衡是否会导致系统效率更高或更低,很大程度上取决于处理器。
引用源(经过机器翻译)https://support.microsoft.com/en-us/topic/c01412a4-6812-15a9-0b89-d875f5f4880f
关闭 Core Parking
简单方法(免安装)
- 下载 Disable CPU Core Parking Utility,在页面最下方下载(不是 Get Quick CPU 按钮)
https://coderbag.com/programming-c/disable-cpu-core-parking-utility - 打开后点击
Unpark All
然后点击Apply
即可。 - 现在 Core Parking 应该关闭。
你也可以尝试使用 ParkControl 或 Process Lasso 来进行更高级的控制。
手动方法 A
在管理员 CMD 或 PowerShell 中执行
powercfg /attributes SUB_PROCESSOR CPMINCORES -ATTRIB_HIDE
这条命令能让被在电源计划中隐藏的 处理器性能核心放置最小核心数量
选项显示出来
然后打开 控制面板 -> 所有控制面板项 -> 电源选项 -> 更改计划设置 -> 编辑计划设置 -> 更改高级计划设置 -> 处理器电源管理 -> 处理器性能核心放置最小核心数量 -> 调整为 100%
现在 Core Parking 应该关闭。
不知道为什么写的是性能核心,应该是对所有核心有效的。
手动方法 B
在管理员 CMD 或 PowerShell 中执行
将当前电源计划的处理器性能核心放置最小核心数量调整为 100 %:
powercfg /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR CPMINCORES 100
激活更改:
powercfg /setactive SCHEME_CURRENT
现在 Core Parking 应该关闭。
注册表方法
- 打开注册表编辑器,导航到
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
- 右键单击 PowerSettings 文件夹并搜索
dec35c318583
- 双击
ValueMax
并将值更改为0
。 - 重启后 Core Parking 应该关闭
打开 SteamVR/Oculus 电源计划被强制设置为高性能方案
非常好 Valve,这个也许对旧处理器有效,然而并没有针对新处理器进行优化,设置成高性能后前面的设置就失效了,而且微软正在弃用高性能选项。
Valve 倒是在 2020 年就为 Ryzen 处理器解决了这个问题:https://steamcommunity.com/app/250820/discussions/3/2993169283955971571/
那新 Core 呢?
所以目前没有办法让 SteamVR 不去调整电源计划,于是我们只好使用以下两种方案。
解决方案 A(强制使用电源方案)
仅限专业版操作系统,因为非专业版没有组策略。
(如何在家庭版操作系统启用组策略?由于操作略显 hacky 所以本文不提供操作方法,你也许可以搜索“找不到 gpedit.msc”)
由于每台设备的 GUID 不同,需要当场查看。
获取 GUID
在管理员 CMD 或 PowerShell 中执行:
powercfg /list
如果没有显示高性能,可以在启动 SteamVR 后再次查看:
C:\Users\a1093>powercfg /list
现有电源使用方案 (* Active)
-----------------------------------
电源方案 GUID: 30b00811-6382-4413-a155-935ce9ebe20b (卓越性能)
电源方案 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (平衡) *
电源方案 GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高性能)
电源方案 GUID: a1841308-3541-4fab-bc81-f71556f20b4a (节能)
记录下你想要的电源方案的 GUID,我这里为平衡 381b4222-f694-41f0-9685-ff5bb260df2e
。
强制使用电源方案
- 按
Win + R
,输入gpedit.msc
并确定。 - 导航到
计算机配置 -> 管理模板 -> 系统 -> 电源管理
。 - 双击
选择自定义活动电源方案
。 - 打开后选择
已启用(E)
。 - 在下方
自定义活动电源方案(GUID)
中填入你想要的方案 GUID - 确定即可
然后你会发现在控制面板中无法调整电源计划了。
注:SteamVR 客服页面的故障排除-优化 PC 设置提到可以:
在 SteamVR 中禁用电源管理(SteamVR > 设置 > 开发者 > 禁用电源管理)
不清楚具体有什么作用。
解决方案 B(删除高性能电源方案)
删除后如果你没有备份则难以恢复,不推荐。
由于每台设备的 GUID 不同,需要当场查看。
获取 GUID
在管理员 CMD 或 PowerShell 中执行:
powercfg /list
如果没有显示高性能,可以在启动 SteamVR 后再次查看:
C:\Users\a1093>powercfg /list
现有电源使用方案 (* Active)
-----------------------------------
电源方案 GUID: 30b00811-6382-4413-a155-935ce9ebe20b (卓越性能)
电源方案 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (平衡) *
电源方案 GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高性能)
电源方案 GUID: a1841308-3541-4fab-bc81-f71556f20b4a (节能)
记录下高性能电源方案的 GUID,我这里为 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
。
不要关闭 SteamVR,然后在 控制面板 -> 所有控制面板项 -> 电源选项
中选择其他选项(因为你不能删掉正在使用的方案)
备份电源方案
在管理员 CMD 或 PowerShell 中执行:
powercfg -export <路径> <GUID>
例如:
powercfg -export C:\high_performance_powercfg.pow 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
即将我这里的高性能电源方案导出到 C:\high_performance_powercfg.pow
删除电源方案
在管理员 CMD 或 PowerShell 中执行:
powercfg /delete <GUID>
例如:
powercfg /delete 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
这样一来,高性能电源方案就被删除了,SteamVR 也无就法将电源方案调整为高性能了。
如何恢复
如果你有备份
在管理员 CMD 或 PowerShell 中执行:
powercfg -import <路径>
例如:
powercfg -import C:\high_performance_powercfg.pow
如果你没有备份
此指南也许有帮助:https://www.elevenforum.com/t/restore-missing-power-plans-in-windows-11.6898
或者在管理员 CMD 或 PowerShell 中执行此命令也许可以恢复:
警告:此命令会将所有电源方案恢复默认值,可能会删掉 OEM 提供的电源方案。
powercfg –restoredefaultschemes
注:SteamVR 客服页面的故障排除-优化 PC 设置提到可以:
在 SteamVR 中禁用电源管理(SteamVR > 设置 > 开发者 > 禁用电源管理)
不清楚具体有什么作用。
部分老游戏因 OpenSSL 闪退
常见于 A Way Out 逃出生天、Call of Cthulhu® 克苏鲁的呼唤、Smite 神之浩劫(旧版)、Titanfall® 2 泰坦天降 2、Blackwake 黑色艉流 等游戏闪退。
这个第 10 代、第 11 代也会遇到。
OpenSSL 1.0.2 beta(2014年6月)到 OpenSSL 1.0.2k(2017年1月)包含错误,可能会导致在具有 SHA 扩展的处理器上崩溃或生成错误的 SHA(安全哈希算法)值,例如最近发布的第十代处理器。这两个错误几年前就已修复;然而,任何直接使用旧版本或作为其依赖项之一的应用程序都将失败。Unreal Engine 版本 4.13(2016年9月)到版本 4.21(2018年12月)包含旧版本的 OpenSSL,因此使用这些版本构建的任何游戏可能受到影响。
Intel 给的解决方案是
将 OPENSSL_ia32cap
环境变量设置为 :~0x20000000
。
解释
在 OpenSSL 的文档中可得知 OPENSSL_ia32cap
这个环境变量用于指示 CPU 是否有某某功能。
:
表示赋值操作,~
表示按位取反。
:~0x20000000
代表 bit #64+29(见下方),而 bit #64+29 指示 SHA 指令集扩展可用性。我们对该位取反,意思是将 OPENSSL_ia32cap
设置为一个除了第 29 位为 0 外其他位都为 1 的二进制数,即禁用 SHA 指令集扩展。
对于十六进制数 0x20000000
,其二进制表示为 0010 0000 0000 0000 0000 0000 0000 0000
。因此,第 29 位是 0(第 29 位是指从右向左数的第 29 位。),对其取反得到 1101 1111 1111 1111 1111 1111 1111 1111
。
设置全局变量
不推荐,会使所有 OpenSSL 应用都失去 SHA 硬件加速。
- 直接搜索
编辑系统环境变量
然后点击环境变量(N)...
或是 打开文件资源管理器
(Win+E),右键单击此电脑
,然后选择属性
选择高级系统设置
在高级
选项卡中选择环境变量(N)...
- 在
系统变量(S)
下点击新建...
- 变量名(N) 填写
OPENSSL_ia32cap
- 变量值(V) 填写
~0x20000000
- 点击
确定
即可
设置局部变量(STEAM)
如果你从 Steam 启动游戏,则可以更改应用的局部变量,该变量仅对该应用有效。右键单击 Steam 库中的游戏 -> 属性... -> 通用 -> 启动选项
,然后将以下内容粘贴到 启动选项
中:
cmd /c "set OPENSSL_ia32cap=:~0x20000000 && %command%"
即使用 cmd 设置该环境变量后退出 cmd,然后执行游戏启动命令。
设置局部变量(快捷方式)
如果没有快捷方式就创建一个。
右键刚刚创建或已有的 快捷方式
选择属性
,选择 快捷方式
,找到 目标(T):
复制其内容
比如是 C:\ProgramData\Test\Starter.exe Test:games/0001?un=0
那么就将 目标(T):
的内容改为
cmd /c "set OPENSSL_ia32cap=:~0x20000000 && C:\ProgramData\Test\Starter.exe Test:games/0001?un=0"
注意 "" 引号位置
即使用 cmd 设置该环境变量后退出 cmd,然后执行游戏启动命令。
游戏闪退/虚幻引擎报显存不足/或崩溃
常见于游戏霍格沃茨之遗、Horizon Zero Dawn™、The Last of Us™ Part I、Battlefield™ 等游戏闪退或报显存不足。
常见于英特尔® 酷睿™ i9-13700K 处理器、英特尔® 酷睿™ i9-13900K 处理器、英特尔® 酷睿™ i9-14700K 处理器、英特尔® 酷睿™ i9-14900K 处理器
Epic Games 旗下公司 RAD(Epic Games Tools LLC)发文称: Intel Processor Instability Causing OodleDecompression Failures
Intel 处理器不稳定导致 Oodle 解压失败
RAD 已经意识到一个问题,该问题可能会导致 Oodle 数据解压失败,或者使用 Unreal 构建的游戏崩溃。我们认为这是一个硬件问题,主要影响 Intel 13900K 和 14900K 处理器,不太可能影响 13700、14700 和其他相关处理器。这些处理器中只有一小部分会表现出这种行为。该问题似乎是由 BIOS 设置以及这些处理器的高时钟速率和功耗共同引起的,导致系统在重负载下不稳定和不可预测的行为。
据我们所知,Ooodle 或 Unreal 中没有任何软件错误导致此问题。由于 BIOS 设置似乎过于乐观,一小部分处理器在高负载下超出了时钟频率和功耗的功能范围,并且无法正确执行指令。这种情况在 Oodle 数据解压缩中尤为明显,因为与大多数游戏、模拟、音频或渲染代码不同,解压缩需要执行额外的完整性检查来处理意外或恶意损坏的数据,因此很可能在不一致发生后很快发现它们。这些解码失败通常会导致错误消息。
引用源(经过机器翻译)https://www.radgametools.com/oodleintel.htm
Intel 向媒体发文称
英特尔® 观察到,此问题可能与不符合规范的操作条件有关,导致高温期间持续出现高电压和高频率。
对受影响处理器的分析显示,某些部件的最低工作电压发生了变化,这可能与英特尔® 指定操作条件之外的操作有关。虽然根本原因尚未确定,但英特尔® 观察到此问题的大多数报告均来自具有解锁/超频功能主板的用户。
英特尔® 观察到 600/700 系列芯片组主板通常会设置 BIOS 默认值来禁用旨在限制处理器暴露于持续高电压和高频率的散热和供电保护措施,例如:
– 禁用电流偏移保护 (CEP)
– 启用 IccMax Unlimited 位
– 禁用热速度提升 (TVB) 和/或增强型热速度提升 (eTVB)
– 可能增加系统不稳定风险的其他设置:
– 禁用 C 状态
– 使用Windows终极性能模式
– 增加 PL1 和 PL2 超出英特尔® 建议的限制
英特尔® 要求系统和主板制造商向最终用户提供与英特尔® 推荐设置相匹配的默认 BIOS 配置文件。英特尔® 强烈建议客户的默认 BIOS 设置应确保在英特尔推荐的设置内运行。
此外,英特尔® 强烈建议主板制造商向最终用户发出警告,提醒他们任何未锁定或超频功能的使用。
英特尔® 正在继续积极调查此问题以确定根本原因,并将在相关信息可用时提供更多更新。英特尔® 将于 2024 年 5 月发布有关问题状态和英特尔® 推荐 BIOS 设置建议的公开声明。
2024 年 09 月 04 日 Intel 发布
Intel Core 第 13 代和第 14 代桌上型處理器 不穩定問題 關鍵問答
Intel® Core™ 第 13 代和第 14 代桌上型處理器目前發生了什麼事,導致這些故障報告?
Intel 發現,第 13 代和第 14 代桌上型處理器的最低工作電壓(Vmin 偏移)有所增加。所需工作電壓的增加可能會導致應用程式中反覆崩潰和/或凍結等問題。根據對因 Vmin Shift 不穩定問題而退回 Intel Intel Core 第 13 代和第 14 代桌上型處理器的廣泛分析,Intel 確定較高的工作電壓是造成某些第 13 代和第 14 代桌面電腦處理器 Vmin Shift 不穩定問題的原因。對退回處理器的分析證實,升高的工作電壓源於微碼演算法,導致對處理器的電壓請求不正確。Intel 已提供微碼修補程式 (0x129),作為解決暴露於高電壓的部分緩解措施。在第 13 代和第 14 代桌上型處理器上遇到不穩定癥狀的客戶應與其系統製造商聯繫,如果是盒裝處理器,請聯繫 Intel Customer Support。
Intel 是否確認電壓升高是第 13 代和第 14 代桌上型處理器所報告的不穩定問題的根本原因?
根據對因 Vmin Shift 不穩定問題而退回 Intel Intel Core 第 13 代和第 14 代桌上型處理器的廣泛分析,Intel 確定較高的工作電壓是造成某些第 13 代和第 14 代桌面電腦處理器 Vmin Shift 不穩定問題的原因。對退回處理器的分析證實,升高的工作電壓源於微碼演算法,導致對處理器的電壓請求不正確。Intel 已提供微碼修補程式 (0x129),作為解決暴露於高壓的部分緩解措施。
媒體報導了與 Intel 第 13 代桌上型處理器相關的製造問題。該報告與這個問題有什麼關係?
過孔氧化製造問題和Vmin位移不穩定問題是不同的問題,每個問題都有不同的原因。關於最近的新聞報導,Intel 確認 Via Oxidation 製造問題會影響第 13 代和第 14 代桌上型處理器Intel Core。此問題是造成此問題的根本原因,並於 2023 年初在第 13 代桌面處理器上的製造改進和螢幕得到解決,這些改進和螢幕在產品發佈前應用於第 14 代桌面計算機部件。Intel 分析確定,只有少數Intel Core與第 13 代和第 14 代桌上型處理器 Vmin Shift 不穩定問題相關的報告可與製造問題聯繫起來。針對 Vmin 移位不穩定問題,Intel 提供了一個微碼修補程式 (0x129),作為解決暴露於高壓的部分緩解措施,而高電壓是 Vmin 移位不穩定問題的關鍵因素。為了有效,微碼修補程式 (0x129) 必須通過 BIOS 更新載入。請聯絡您的系統或主機板製造商,以獲取包含此微碼更新 (0x129) 的 BIOS 更新。在第 13 代和第 14 代桌上型處理器上遇到不穩定癥狀的客戶應與其系統製造商聯絡,如果是盒裝處理器,則應聯絡 Intel Customer Support。
引用源 https://www.intel.com.tw/content/www/tw/zh/support/articles/000099569/processors.html?erpm_id=13892229_ts1726405410360
解决方案
普通用户
若已出现问题,请走质保。
A.更新到最新 BIOS,更新后 BIOS 设置应该会重置,此时会默认设置为 Intel 安全预设;
高级用户
若已出现问题,请走质保。
参考 Intel 官方说明;
除了 延長保固範圍外,Intel 還發佈了三種與不穩定問題相關的緩解措施(通常表現為持續的應用程式崩潰和反覆掛起),以説明穩定採用第 13 代和第 14 代桌上型處理器Intel Core客戶系統:
- 避免提升功率傳輸對處理器造成影響的 Intel 預設設置(2024 年 5 月)
- 修復 i9 處理器 eTVB 問題的微碼0x125(2024 年 6 月)
- 解決電壓升高問題的微碼0x129(2024 年 8 月)
Intel 目前的電流分析發現,由於電壓升高,受影響處理器上多個核心的最低工作電壓 (Vmin) 顯著升高。電壓升高的事件會隨著時間推移而累積,並導致處理器的 Vmin 增加。
最新的微碼更新 (0x129) 會將電壓請求限制在1.55V以上,作為對沒有出現不穩定癥狀的處理器的預防性緩解。此更新將主要改善 K/KF/KS 處理器的作業條件。Intel 正在根據廣泛的驗證,確認所有未來的產品都不會受到此問題的影響。
Intel 正在繼續研究緩解措施,以瞭解可能導致第 13 代和第 14 代桌上型處理器Intel Core Vmin 偏移的情況。Intel將在 8 月底前提供更新。
為了有效,微碼修補程式 (0x129) 必須通過 BIOS 更新載入。請聯絡您的系統或主機板製造商,取得包含此微碼更新的 BIOS 更新 (0x129)。
尋找 BIOS 連結的使用者步驟:
- 轉到 PCT - Intel® 產品相容性工具。
- 按兩下 桌面和工作站處理器 磁貼以進行下拉選擇。
- 選擇處理器系列 – 例如,Intel® Core™ i9處理器(第 14 代)。
- 選擇世代 – 例如,Intel® Core™ i9。
- 選擇處理器 – 例如 i9-14900K。
- 單擊 搜尋 以查看所選處理器的完整相容 MB 清單。
- 找到合適的主機板 並點擊 BIOS 的最新 ,按照主機板製造商頁面的鏈接下載其 BIOS。
- 使用者還可以按主機板製造商、晶元組或其他元件篩選產品相容性工具以獲取更多資訊。
引用源 https://www.intel.com.tw/content/www/tw/zh/support/articles/000099568/processors.html
无评论