在Windows下我们使用 powercfg.exe
命令 来控制电源计划(也称为电源方案),以使用可用的睡眠状态、控制单个设备的电源状态,以及分析系统中常见的能效和电池寿命问题。
Powercfg
命令行使用以下语法:
powercfg /option [arguments] [ /? ]
其中,option
是下表中列出的选项之一,arguments
是应用于所选选项的一个或多个参数。 在命令行中包含“/?”会显示指定选项的帮助。 本主题稍后会更详细地介绍选项和参数。
选项 | 说明 |
---|---|
/?、-help | 显示有关命令行参数的信息。 |
/list、/L | 列出所有电源方案。 |
/query、/Q | 显示电源方案的内容。 |
/change、/X | 修改当前电源方案中的设置值。 |
/changename | 修改电源方案的名称和说明。 |
/duplicatescheme | 复制电源方案。 |
/delete、/D | 删除电源方案。 |
/deletesetting | 删除电源设置。 |
/setactive、/S | 使某个电源方案在系统上处于活动状态。 |
/getactivescheme | 检索当前活动的电源方案。 |
/setacvalueindex | 设置当系统由交流电源供电时与某项电源设置关联的值。 |
/setdcvalueindex | 设置当系统由直流电源供电时与某项电源设置关联的值。 |
/import | 从文件中导入所有电源设置。 |
/export | 将电源方案导出到文件。 |
/aliases | 显示所有别名及其相应的 GUID。 |
/getsecuritydescriptor | 获取与指定的电源设置、电源方案或操作相关联的安全描述符。 |
/setsecuritydescriptor | 获取与电源设置、电源方案或操作关联的安全描述符。 |
/hibernate、/H | 启用和禁用休眠功能。 |
/availablesleepstates、/A | 报告系统上可用的睡眠状态。 |
/devicequery | 返回符合指定条件的设备列表。 |
/deviceenableawake | 启用设备将系统从睡眠状态唤醒的功能。 |
/devicedisablewake | 禁用设备将系统从睡眠状态唤醒的功能。 |
/lastwake | 报告有关哪个组件将系统从上次睡眠转换状态唤醒的信息。 |
/waketimers | 枚举活动的唤醒计时器。 |
/requests | 枚举应用程序和驱动程序电源请求。 |
/requestsoverride | 为特定的进程、服务或驱动程序设置电源请求重写。 |
/energy | 分析系统中常见的能效和电池寿命问题。 |
/batteryreport | 生成电池使用情况的报告。 |
/sleepstudy | 生成诊断系统电源转换报告。 |
/srumutil | 转储来自系统资源使用情况监视器 (SRUM) 的能源估算数据。 |
/systemsleepdiagnostics | 生成系统睡眠转换的诊断报告。 |
/systempowerreport | 生成诊断系统电源转换报告。 |
更具体的我们可以查询微软的官方MSDN文档:Powercfg 命令行选项
EPP
是Windows调频调度中的一个重要参数,可以用来对笔记本的续航和性能做调节。
Windows下默认有三种电源方案
可以通过powercfg /l
命令查询,列表如下:
注意
:笔记本上高性能和节电模式可能会被隐藏,powercfg /l
查询只会显示平衡,如下图所示:
此时我们可以通过powercfg /setactive "GUID"
或者powercfg /setacvite "GUID别名”
切换电源方案,
例如我们想要将当前系统切换到高性能模式,可以输入如下命令:
powercfg /setactive SCHEME_MIN
或者输入命令:
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
Win10为了更好的调节性能续航相关设置(主要更改EPP,控制OS Turbo能力),在平衡模式下多了电源滑块子模式,分为4种(非平衡模式无电源滑块)
Win11下把节电单独列出,剩余3个滑块名称改名为最佳能效
(最长的续航),平衡
(更好的性能),最佳性能
(最佳性能)
修改方法为:powercfg .overlaysetactvie "GUID"
或者powercfg .overlaysetactvie "GUID"别名
例如:切换更长的续航模式,在cmd命令行
窗口中可以输入如下命令:
powercfg /overlaysetactive OVERLAY_SCHEME_MIN
或者
powercfg /overlaysetactive 961CC777-2547-4F9D-81747D86181B8A7A
切换最佳性能:
powercfg /overlaysetactive OVERLAY_SCHEME_MAX
切换平衡:
powercfg /overlaysetactive OVERLAY_SCHEME_NONE
powercfg /q
显示当前电源管理的部分设置(休眠,EPP设置均不展示)
poercfg /qh
显示当前电源管理的所有设置,一般推荐使用此方法
powercfg /aliases
显示当前电源管理的所有子组GUID及别名,如下所示:
a1841308-3541-4fab-bc81-f71556f20b4a SCHEME_MAX
8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c SCHEME_MIN
381b4222-f694-41f0-9685-ff5bb260df2e SCHEME_BALANCED
e73a048d-bf27-4f12-9731-8b2076e8891f SUB_BATTERY
637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 BATACTIONCRIT
d8742dcb-3e6a-4b3c-b3fe-374623cdcf06 BATACTIONLOW
5dbb7c9f-38e9-40d2-9749-4f8a0e9f640f BATFLAGSCRIT
bcded951-187b-4d05-bccc-f7e51960c258 BATFLAGSLOW
9a66d8d7-4ff7-4ef9-b5a2-5a326ca2a469 BATLEVELCRIT
8183ba9a-e910-48da-8769-14ae6dc1170a BATLEVELLOW
4f971e89-eebd-4455-a8de-9e59040e7347 SUB_BUTTONS
a7066653-8d6c-40a8-910e-a1f54b84c7e5 UIBUTTON_ACTION
0012ee47-9041-4b5d-9b77-535fba8b1442 SUB_DISK
6738e2c4-e8a5-4a42-b16a-e040e769756e DISKIDLE
5fb4938d-1ee8-4b0f-9a3c-5036b0ab995c SUB_GRAPHICS
48672f38-7a9a-4bb2-8bf8-3d85be19de4e SUB_INTSTEER
2e601130-5351-4d9d-8e04-252966bad054 SUB_IR
fea3413e-7e05-4911-9a71-700331f1c294 SUB_NONE
501a4d13-42af-4429-9fd1-a8218c268e20 SUB_PCIEXPRESS
ee12f906-d277-404b-b6da-e5fa1a576df5 ASPM
8619b916-e004-4dd8-9b66-dae86f806698 SUB_PRESENCE
54533251-82be-4824-96c1-47b60b740d00 SUB_PROCESSOR
bc5038f7-23e0-4960-96da-33abaf5935ec PROCTHROTTLEMAX
893dee8e-2bef-41e0-89c6-b55d0929964c PROCTHROTTLEMIN
94d3a615-a899-4ac5-ae2b-e4d8f634367f SYSCOOLPOL
238c9fa8-0aad-41ed-83f4-97be242c8f20 SUB_SLEEP
9d7815a6-7ee4-497e-8888-515a05f02364 HIBERNATEIDLE
94ac6d29-73ce-41a6-809f-6363ba21b47e HYBRIDSLEEP
bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d RTCWAKE
29f6c1db-86da-48c5-9fdb-f2b67b1f44da STANDBYIDLE
7516b95f-f776-4464-8c53-06167f40cc99 SUB_VIDEO
fbd9aa66-9553-4097-ba44-ed6e9d65eab8 ADAPTBRIGHT
3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e VIDEOIDLE
powercfg /queryprofile
显示当前PPM下子组设定
powercfg /setdcprofileindex overlay_or_scheme_alias profile_alias setting_alias value
对当前PPM下子组设定
详细查询某个子组或者子项内容可以在查询命令后带上对应子组或者子项的GUID或者GUID别名
例如查询EPP的值:
powercfg /qh SCHEME_BALANCED SUB_PROCESSOR PERFEPP
,查询结果如下图所示:
从上述结果可以看到,我当前的电脑AC下EPP值(当前交流电源设置索引: 0x00000021)对应为0x21,也就是33,TAT工具中对应显示84;DC下EPP值(当前直流电源设置索引: 0x00000032)为0x32,转换成10进制就是50,TAT工具中对应显示为127
设定某一个电源管理值(注意区分AC和DC)
powercfg /setdcvalueindex SCHEME_CURRENT SUB_PROCESSOR PERFEPP 50 设定DC下EPP的值为50
powercfg /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR PERFEPP 50 设定AC下EPP的值为50
powercfg /setactive SCHEME_CURRENT 使当前设置生效
powecfg /overlaysetactive OVERLAY_SCHEME_MIN 子模式需要使用overlaysetactive生效
powercfg /qh > powercfg_qh.txt
电源方案 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (平衡)
GUID 别名: SCHEME_BALANCED
子组 GUID: fea3413e-7e05-4911-9a71-700331f1c294 (不属于任何子组的设置)
GUID 别名: SUB_NONE
电源设置 GUID: 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 (唤醒时需要密码)
GUID 别名: CONSOLELOCK
可能的设置索引: 000
可能的设置友好名称: 否
可能的设置索引: 001
可能的设置友好名称: 是
当前交流电源设置索引: 0x00000000
当前直流电源设置索引: 0x00000001
电源设置 GUID: 245d8541-3943-4422-b025-13a784f679b7 (电源计划类型)
GUID 别名: PERSONALITY
可能的设置索引: 000
可能的设置友好名称: 节能
可能的设置索引: 001
可能的设置友好名称: 高性能
可能的设置索引: 002
可能的设置友好名称: 平衡
当前交流电源设置索引: 0x00000002
当前直流电源设置索引: 0x00000002
电源设置