Created
December 22, 2023 06:39
-
-
Save al0rid4l/1e95c106f77766b2fc3608cd235a9f40 to your computer and use it in GitHub Desktop.
大小核电源管理
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# P核即大核,也叫高性能处理器,E核即小核,也叫高效处理器,高能效处理器,超线程,即逻辑核,是比小核更轻量的存在 | |
# 大核小核超线程都能休眠,休眠省电但是唤醒的时间开销更大,超线程的单核性能也略有损失,大约5%-15%损失 | |
# | |
# 不要在平衡电源方案下设置, 在省电或者高性能下设置, 当电源计划是平衡时. Windows还有一个叫overlay的层级允许微软和OEM的默认调度覆盖部分自定义设置 | |
# 因此从省电或高性能下复制一个电源方案, 然后重命名, 也就是新建一个电源方案, 在里面修改, 而不要在平衡方案中修改 | |
# | |
# 下面命令用来设置显示/隐藏电源选项 | |
# powercfg -attributes <一级展开分组的GUID或别名> <二级展开分组的GUID> -ATTRIB_HIDE | |
# 如处理器电源管理/Processor power management是一级展开分组, 别名是SUB_PROCESSOR,小核放置最小核心数量的GUID为0cc5b647-c1df-4637-891a-dec35c318583 | |
# +ATTRIB_HIDE表示隐藏该选项,-ATTRIB_HIDE表示显示/去掉隐藏的选项 | |
# | |
# 除了powercfg命令可以修改电源选项的显示和隐藏,注册表也可以 | |
# HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings | |
# 这个下面包含了所有电源选项,第一级GUID是一级展开分组的GUID,下面有二级展开分组的GUID, | |
# 修改二级展开分组的Attributes的值即可控制电源选项的显示和隐藏 | |
# ±attrib_hide对应的是注册表里attributes 0和1的区别,但是现在要attribute=2才能显示设置, | |
# 所以如果命令设置了没显示选项的话, 建议注册表修改 | |
# | |
# powercfg /Qh 用来查看隐藏的电源选项及别名和GUID | |
# | |
# powercfg /L 列出现有电源方案及GUID | |
# | |
# powercfg /duplicatescheme 电源方案GUID 根据现有电源方案复制一份新方案并输出新GUID,https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options#option_duplicatescheme | |
# 这个也可以在控制面板的电源选项-创建电源计划中新建电源方案 | |
# | |
# powercfg /changename 电源方案GUID "新方案名" 将电源方案改名为新方案名, https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options#changename | |
# | |
# 生效的异类策略, Heterogeneous policy in effect, | |
# 决定了大核小核超线程的休眠顺序, 即核心休眠策略 | |
# 0 - 休眠顺序为超线程 - 小核 - 大核, 即大核最后休眠, 激进唤醒更多核心, 倾向于开超线程, 也即高性能 | |
# 1 - 由放置最小核心数量决定小核休眠, 由1类放置最小核心数量决定大核和超线程休眠 | |
# 2 - 大核休眠 | |
# 3 - 小核休眠 | |
# 4 - 基于利用率随机休眠, 默认, 优先使用单个大核, 尽量单核运行完任务不唤醒更多核心, 不倾向于开超线程 | |
# 以上是LSTC版本的, 20H2版本的1和4顺序调换 | |
powercfg -attributes SUB_PROCESSOR 7f2f5cfa-f10c-4823-b5e1-e93ae85f46b5 -ATTRIB_HIDE | |
# 异类线程调度策略, Heterogeneous thread scheduling policy, 即长线程调度策略, | |
# https://learn.microsoft.com/zh-cn/windows-hardware/customize/power-settings/configuration-for-hetero-power-scheduling-schedulingpolicy | |
# 长线程和短线程的区分通过ShortThreadRuntimeThreshold区分, 是一个时间范围, 默认100微秒, 执行超过此时间的被判定为长线程, 转到长线程调度策略进行调度 | |
# 关于ShortThreadRuntimeThreshold参考 https://learn.microsoft.com/zh-cn/windows-hardware/customize/power-settings/configuration-for-hetero-power-scheduling-shortthreadruntimethreshold | |
# 该值只能在win11下设置 | |
# 0 - 所有处理器, 平均分配或者说按顺序分配, 先大核后小核, 但前台优先大核后台优先小核 | |
# 1 - 高性能处理器, 优先单个大核,但只用大核, 单线程友好, 无论前后台 | |
# 2 - 首选高性能处理器, 均匀分担到多个大核, 大核忙用小核, 哪怕单线程也多核, 无论前后台 | |
# 3 - 高效处理器, 均匀分担到多个小核, 但只用小核, 哪怕单线程也多核, 无论前后台 | |
# 4 - 首选高效处理器, 均匀分担到多个小核, 小核忙用大核, 无论前后台 | |
# 5 - 所有处理器, 均匀分担到所有核, 无论大小, 无论前后台 | |
powercfg -attributes SUB_PROCESSOR 93b8b6dc-0698-4d1c-9ee4-0644e900c85d -ATTRIB_HIDE | |
# 异类短运行线程调度策略, Heterogeneous short running thread scheduling policy, 即短线程调度策略 | |
# 所有任务一开始都是短线程, 只有执行时间超过ShortThreadRuntimeThreshold的才判定为长线程改为长线程调度策略进行调度, 所以 | |
# 此配置决定了任务一开始的调度策略 | |
powercfg -attributes SUB_PROCESSOR bae08b81-2d5e-4688-ad6a-13243356654b -ATTRIB_HIDE | |
# SMT线程启动策略, win11才有 | |
powercfg -attributes SUB_PROCESSOR b28a6829-c5f7-444e-8f61-10e24e85c532 -ATTRIB_HIDE | |
# 处理器性能核心放置最小核心数量, Processor performance core parking min cores, 性能核即小核, | |
# 即最少多少个小核永不休眠,100%即所有小核永不休眠,25%即1/4的小核永不休眠, 简而言之, 休眠越多越省电, 但是唤醒消耗时间等于性能降低 | |
powercfg -attributes SUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318583 -ATTRIB_HIDE | |
# 1类处理器性能核心放置最小核心数量, Processor performance core parking min cores for Processor Efficiency Class 1, 1类处理器即大核和超线程 | |
powercfg -attributes SUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318584 -ATTRIB_HIDE | |
# 处理器能源性能首选项策略, Processor energy performance preference policy, 这个值控制了处理器频率设置的激进程度, 值越大睿频上升越保守, 总体越省电, 但是它不限制睿频的上限, | |
# 只是限制睿频到达上限的概率, 这个针对小核 | |
powercfg -attributes SUB_PROCESSOR 36687f9e-e3a5-4dbf-b1dc-15eb381c6863 -ATTRIB_HIDE | |
# 同上, Processor energy performance preference policy for Processor Efficiency Class 1, 针对大核 | |
powercfg -attributes SUB_PROCESSOR 36687f9e-e3a5-4dbf-b1dc-15eb381c6864 -ATTRIB_HIDE | |
# 最大处理器状态, Maximum processor state, 处理器最大睿频相对基准频率的百分比, 即控制睿频上限, 建议100%, 针对小核 | |
powercfg -attributes SUB_PROCESSOR bc5038f7-23e0-4960-96da-33abaf5935ec -ATTRIB_HIDE | |
# 最大处理器状态, Maximum processor state for Processor Efficiency Class 1, 针对大核 | |
powercfg -attributes SUB_PROCESSOR bc5038f7-23e0-4960-96da-33abaf5935ed -ATTRIB_HIDE | |
# 最小处理器状态, Minimum processor state, 处理器闲置时候的最小频率百分比, 简而言之就是闲置时的默认频率最低是多少, 针对小核 | |
powercfg -attributes SUB_PROCESSOR 893dee8e-2bef-41e0-89c6-b55d0929964c -ATTRIB_HIDE | |
# 最小处理器状态, Minimum processor state for Processor Efficiency Class 1, 针对大核 | |
powercfg -attributes SUB_PROCESSOR 893dee8e-2bef-41e0-89c6-b55d0929964d -ATTRIB_HIDE | |
# 处理器性能提升模式, 针对所有核, 控制是否开启睿频以及睿频上限模式, 有几个值, 0 - 禁用睿频, 1 - 启用睿频, 2 - Aggressive,允许到达最高睿频 | |
# 3 - Efficient Enabled,允许睿频到一个较节能的频率, 4 - Efficient Aggressive,大概比3更高性能一些, 5 - Aggressive At Guaranteed,不清楚,大概更激进 | |
# 6 - Efficient Aggressive At Guaranteed, 不清楚 | |
powercfg -attributes SUB_PROCESSOR be337238-0d82-4146-a960-4f3749d470c7 -ATTRIB_HIDE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment