在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别名”
切换电源方案,
例如我们想要将当前系统切换到高性能模式,可以输入如下命令:
或者输入命令:
Win10为了更好的调节性能续航相关设置(主要更改EPP,控制OS Turbo能力),在平衡模式下多了电源滑块子模式,分为4种(非平衡模式无电源滑块)
Win11下把节电单独列出,剩余3个滑块名称改名为最佳能效
(最长的续航),平衡
(更好的性能),最佳性能
(最佳性能)
修改方法为:powercfg .overlaysetactvie "GUID"
或者powercfg .overlaysetactvie "GUID"别名
例如:切换更长的续航模式,在cmd命令行
窗口中可以输入如下命令:
或者
切换最佳性能:
切换平衡:
powercfg /q
显示当前电源管理的部分设置(休眠,EPP设置均不展示)
poercfg /qh
显示当前电源管理的所有设置,一般推荐使用此方法
powercfg /aliases
显示当前电源管理的所有子组GUID及别名,如下所示:
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 /qh > powercfg_qh.txt