LOS*_*OST 4 multi-core power-management hyper-threading windows-10
为什么 Windows 10 禁用了核心停车功能?
在我看来,核心停车在大多数情况下都很好。特别是考虑到 Turbo Boost 在某些内核停放之前不起作用。
还有为什么注册表设置隐藏得这么好?
必须取消隐藏并将其设置Attribute为0:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583
Run Code Online (Sandbox Code Playgroud)
Dha*_*ree 13
Windows 10 何时以及为何禁用 Core Parking?
微软在 2017 年禁用了默认 Windows 10 电源计划中的核心停车。
一个网站指出:
“如果您禁用 CPU 上的核心停放,您的计算机可能会有更快的基准测试。(游戏玩家和高级用户报告的帧速率更高)。”
虽然 Microsoft 选择为硬件性能提供更多动力,但它已将自定义电源计划的选项留给供应商、服务器管理人员和超级用户。
“Core Parking 在具有处理器空闲状态且功耗极低的系统上最有效。” (来源)
微软还对服务器管理员的说明:
当核心停放算法选择要取消停放的核心时(假设工作负载强度增加),它可能并不总是选择活动亲和化子集(或多个子集)中的核心来取消停放,因此最终可能会取消停放的核心实际被利用。(来源)
虽然许多用户争论核心停放的好处,但微软选择将核心停放的选择权留给供应商,因为他们可以在那里创建自己的电源计划并随产品一起发货。使用 Turbo Boost Index 和 Frequency Scaling Index 之类的东西,处理器通常能够在禁用核心停放的情况下更灵敏地控制。
这是供应商 AMD 的一个很好的例子,其 Razon 产品在 2017 年创建了自定义功能以优化使用该处理器。
核心停车基准示例
以下是在主要用于办公的 NUC、Windows 10 Pro、英特尔酷睿 i5-8259U 上对电源计划进行基准测试的示例:图片为处理器等级,链接为电源计划的完整 PC 基准测试。
基准链接
基准链接
基准链接
基准链接
Windows 10 是否禁用了 Core Parking?
Note the below information assumes static core parking options not heterogeneous architecture. Please see further reading links for more info.
为什么隐藏核心停车注册表设置?
要取消隐藏上述选项,请打开提升的 cmd 并运行:
powercfg -attributes SUB_PROCESSOR CPMINCORES -ATTRIB_HIDE
Run Code Online (Sandbox Code Playgroud)完毕。无需编辑注册表。
什么是电源方案?
电源方案是控制计算机电源使用的一组设置。您可以使用电源方案来降低单个设备或整个系统的功耗。
用于核心停放的 Microsoft 静态配置选项
您可以使用本节中记录的静态配置选项来调整核心停车引擎的行为。
CPMinCores指定可以在任何给定时间置于未停放状态的逻辑处理器的最小百分比(就每个 NUMA 节点内系统上启用的所有逻辑处理器而言)。
CPMaxCores指定可以在任何给定时间处于未停放状态的逻辑处理器的最大百分比(根据每个 NUMA 节点内的逻辑处理器)。
CPIncreaseTime指定在其他逻辑处理器可以从停放状态转换到未停放状态之前必须经过的最短时间。该时间以处理器性能时间检查间隔的数量为单位指定。
CPDecreaseTime指定在其他逻辑处理器可以从未停放状态转换到停放状态之前必须经过的最短时间。该时间以处理器性能时间检查间隔的数量为单位指定。
CPConcurrency指定确定节点并发的阈值。
CPDistribution以百分比形式指定在并发分布中使用的利用率,以选择要向其分配实用程序的逻辑处理器的数量。
CPHeadroom指定了利用率值,如果未停放的处理器组中利用率最低的处理器具有更高的利用率,则该利用率值将导致核心停放引擎解除停放额外的逻辑处理器。这使得能够检测到并发的增加。
CPLatencyHintUnpark指定检测到系统低延迟提示时未停放核心的最小数量。
资料来源:微软 - 静态核心停车选项
电源配置文件
您可以使用 Windows 预配框架来配置本节中描述的处理器电源设置。
处理器命名空间分为三组相同的电源处理器配置,称为电源配置文件。功率处理器引擎使用功率配置文件来适应各种系统用例的性能和停车算法。
Windows 10 支持以下配置文件:
- 默认配置文件是大部分时间处于活动状态的配置集。
- LowLatency 是在启动期间和应用程序启动期间激活的配置文件。
- LowPower 是在媒体播放场景的缓冲阶段激活的配置文件。
- 受限是由 Windows 10 桌面版(家庭版、专业版、企业版和教育版)上的节电功能激活的配置文件。
所有处理器电源管理设置
每个配置文件都支持以下配置设置:
PowerCfg: CPMINCORES, CPMINCORES1
PowerCfg: CPMAXCORES, CPMAXCORES1
PowerCfg: LATENCYHINTUNPARK, LATENCYHINTUNPARK1
PowerCfg: PROCTHROTTLEMAX, PROCTHROTTLEMAX1
PowerCfg: PROCTHROTTLEMIN, PROCTHROTTLEMIN1
PowerCfg: PERFINCTHRESHOLD, PERFINCTHRESHOLD1
PowerCfg: PERFINCTIME, PERFINCTIME1
PowerCfg: PERFDECTHRESHOLD, PERFDECTHRESHOLD1
PowerCfg: PERFDECTIME, PERFDECTIME1
PowerCfg: LATENCYHINTPERF, LATENCYHINTPERF1
PowerCfg: PERFAUTONOMOUS
PowerCfg: PERFEPP
Run Code Online (Sandbox Code Playgroud)
另请参阅旧命令PERFBOOSTMODE、PERFBOOSTPOL。
检索当前活动的电源方案,打开提升的命令提示符并键入:
powercfg -getactivescheme
Run Code Online (Sandbox Code Playgroud)
列出 GUID 和名称 og 电源方案(星号也显示选定的方案):
powercfg /list
Run Code Online (Sandbox Code Playgroud)
查询计划
powercfg -query GUIDhere
Run Code Online (Sandbox Code Playgroud)
还可以仅查看别名和帮助(有关更多信息,请参见此处)
powercfg.exe -aliases
powercfg -help
Run Code Online (Sandbox Code Playgroud)
示例:将 AC 上的 CPU 核心设置为至少 50%,将 CPU 上的 CPU 设置为电池 DC 上的 10%
powercfg /setACvalueindex scheme_current SUB_PROCESSOR CPMINCORES 50
powercfg /setDCvalueindex scheme_current SUB_PROCESSOR CPMINCORES 10
powercfg /setACvalueindex scheme_current SUB_PROCESSOR CPMINCORES1 50
powercfg /setDCvalueindex scheme_current SUB_PROCESSOR CPMINCORES1 10
Run Code Online (Sandbox Code Playgroud)
什么是核心停车以及您应该如何调整它?
有关所有可用设置,请参阅上述链接和信息。
简而言之,核心停放允许您的处理器进入睡眠模式。核心停放的主要目的是让计算机/笔记本电脑/设备仅在需要时使用处理器,从而节省能源。
微软首先在 Windows Server 2008 R2 中开始通过处理器电源管理 (PPM) 引擎和调度程序使用核心停放,以根据电源计划设置和计划执行的任务动态设置核心数量。
由 PPM 引擎选择的将被调度的线程的最小内核数。通常,内核处于停放状态,没有安排任何线程,当它们不处理中断、DPC 或其他严格关联的工作时,它们会进入非常低的功耗状态。因此,剩余的内核负责剩余的工作负载。核心停车可以在较低使用率期间潜在地提高能源效率,这就是它通常设置在 Windows 电源计划中的原因。
要关闭核心停放,请使用以下命令将 Processor Performance Core Parking Minimum Cores 参数设置为 100%:
Powercfg -setacvalueindex scheme_current sub_processor CPMINCORES 100
Powercfg -setactive scheme_current
Run Code Online (Sandbox Code Playgroud)
要将可调度内核的数量减少到最大计数的 50%,请将 Processor Performance Core Parking Maximum Cores 参数设置为 50,如下所示:
Powercfg -setacvalueindex scheme_current sub_processor CPMAXCORES 50
Powercfg -setactive scheme_current
Run Code Online (Sandbox Code Playgroud)
处理器状态示例
C0 - Active mode, processor executing code.
C1 - AutoHALT processor IA core state (Pacakage C0 state).
C1E - AutoHALT processor IA core state with lowest freqency and voltage operating point (Pacakage C0 state).
C2 - All processor IA cores in C3 or deeper. Memory path open. Temporary state before Package C3 or deeper.
C3 - Processor IA execution cores in C3 or deeper, flush their L1 instruction cache, L1 data cache, and L2 cache to the LLC shared cache. LLC may be flushed. Clocks are shut off to each core.
C6 - Processor IA execution cores in this state save their architectural state before removing core voltage. BCLK is off.
C7 - Processor IA execution cores in this state behave similarly to the C6 state. If all execution cores request C7, LLC ways may be flushed until it is cleared. If the entire LLC is flushed, voltage will be removed from the LLC.
C8 - C7 plus LLC should be flushed.
Run Code Online (Sandbox Code Playgroud)
下半部分基于:
免费节目:
进一步阅读:
| 归档时间: |
|
| 查看次数: |
22762 次 |
| 最近记录: |