通过 powercfg(Power Configuration Command-Line Utility) 命令来更改不同电源计划下的相关设置,以实现对电源管理的定制和优化

 

PS C:\WINDOWS\system32> powercfg /?

POWERCFG /命令 [参数]

描述:
  使用户可以控制本地系统上的电源设置。

  有关命令和选项的详细信息,请运行 "POWERCFG /? <COMMAND>"

命令列表:
 `powercfg /LIST``/L`                        列出系统中全部电源方案,输出方案名称 + GUID;标记当前活动电源方案。原理:读取注册表 `HKLM\SYSTEM\CurrentControlSet\Control\Power` 存储的电源方案,通过 powrprof 查询 power.sys 已加载策略列表。
 
 `powercfg /QUERY <GUID>``/Q`                查询指定电源方案详细配置,输出该方案下所有子组、设置项,AC/DC(接通电源 / 电池)对应阈值(如硬盘超时、显示器超时、处理器性能)。不带 GUID 默认查询当前激活方案。
 
 `powercfg /QUERYALTITUDES``/QA`            查询电源设置的允许取值范围(值域),查看某个电源参数支持哪些有效值,多用于自定义电源参数、校验设置合法性。
 
 `powercfg /CHANGE <setting> <value>``/X`        快速修改电源方案常用参数,无需 GUID。支持显示器超时、硬盘空闲超时、睡眠超时等。示例:`powercfg /X standby-timeout-ac 0` 接通电源永不自动睡眠。⚠️ 仅修改当前活动电源方案。
 
 `powercfg /CHANGENAME <GUID> <新名称> [描述]`        -修改指定电源方案的显示名称与描述文本,不修改电源参数。
 
 `powercfg /DUPLICATESCHEME <GUID>`        -复制克隆已有电源方案,基于源 GUID 方案生成一份全新独立 GUID 的副本,用于在原有方案基础上做定制修改。
 
 `powercfg /DELETE <GUID>``/D`            删除指定 GUID 电源方案。不能删除当前正在激活使用的方案;删除后注册表对应电源策略条目移除。
 
 `powercfg /DELETESETTING <子组GUID> <设置GUID>`        -删除电源方案内单个电源设置项(极少用,一般用于清理自定义添加的电源参数)。
 
 `powercfg /SETACTIVE <GUID>``/S`            激活指定 GUID 电源方案,告诉 power.sys 切换全局电源策略,系统立即应用这套电源超时、功耗规则。
 
 `powercfg /GETACTIVESCHEME`            -获取当前正在使用的电源方案,输出方案名称 + GUID;脚本自动化获取当前电源配置常用。
 
 `powercfg /SETACVALUEINDEX <方案GUID> <子组GUID> <设置GUID> <值>`        -设置【接通电源(AC)】模式下的电源参数值,细粒度底层修改,必须完整提供三层 GUID(方案、子组、设置项)。适合脚本批量调参。
 
 `powercfg /SETDCVALUEINDEX <方案GUID> <子组GUID> <设置GUID> <值>`        -设置【电池(DC)】模式下的电源参数值,和 SETACVALUEINDEX 成对使用,电池供电场景独立配置参数。
 
 `powercfg /IMPORT <文件名> [GUID]`        -导入电源方案,读取`.pow`文件导入系统;可选指定 GUID,不指定则自动生成新 GUID。常用于批量部署自定义电源策略。
 
 `powercfg /EXPORT <文件名> <方案GUID>`        -导出电源方案,将指定 GUID 方案保存为`.pow`文件,用于备份、迁移到其他 Windows 主机。
 
 `powercfg /ALIASES`        -列出电源配置别名映射表,把长 GUID 映射成简短别名(如`SUB_PROCESSOR`处理器子组),方便命令行简写引用 GUID。
 
 `powercfg /GETSECURITYDESCRIPTOR <GUID>`        -查询电源方案的安全描述符(SDDL),查看哪些用户 / 账号有权限读取、修改该电源方案。
 
 `powercfg /SETSECURITYDESCRIPTOR <GUID> <SDDL>`        -修改电源方案安全描述符,限制 / 放开用户对该电源方案的修改权限,企业域环境权限管控使用。
 
 `powercfg /HIBERNATE <onoff>``/H`        开启 / 关闭休眠功能。关闭休眠会删除`hiberfil.sys`,S4 休眠不可用;底层通知 power.sys 切换 S4 支持状态。Win10/11:关闭休眠同时会禁用快速启动。
 
 `powercfg /AVAILABLESLEEPSTATES``/A`        查看本机支持的系统睡眠 Sx 状态(S0/S3/S4),同时列出阻止休眠 / 睡眠的驱动 / 文件。ModernStandby 机型会提示 S3 不可用。
 
 `powercfg /DEVICEQUERY <query_flag>`        -查询设备电源相关信息。flags:`wake_armed`、`wake_from_S3`、`wake_programmable`等;查看设备是否具备唤醒能力。
 
 `powercfg /DEVICEENABLEWAKE <设备ID>`        -启用设备唤醒权限,允许该硬件(网卡 / 键鼠)唤醒系统;写入设备栈电源配置,power.sys 接收此配置作为唤醒源清单。
 
 `powercfg /DEVICEDISABLEWAKE <设备ID>`        -禁用设备唤醒权限,阻止该设备唤醒电脑,常用于关闭网卡远程唤醒。
 
 `powercfg /LASTWAKE`                        -查看上一次系统唤醒信息:唤醒源、唤醒时间。排查无故自动开机、莫名唤醒故障,直接读取 power.sys 保存的上一轮唤醒事件。
 
 `powercfg /WAKETIMERS`                    -列出系统待执行唤醒计时器,查看哪些程序注册了定时唤醒(计划任务、更新程序),是排查定时自动开机的核心命令。
 
 `powercfg /REQUESTS`                -查看当前活跃 PowerRequest 电源抑制请求,直接读取 power.sys 全局 PowerRequest 计数器,列出进程 / 驱动阻止自动睡眠、关闭屏幕的条目(播放器、下载软件)。
 
 `powercfg /REQUESTSOVERRIDE <调用方类型> < 名称 > < 请求类型 > < 禁止允许 >`        -PowerRequest 覆盖规则:强制覆盖程序的电源抑制能力。可以强行禁止某个程序阻止睡眠,即使程序调用 PowerSetRequest,power.sys 也忽略其请求。
 
 `powercfg /ENERGY`                    -生成能源诊断报告,默认在当前目录生成`energy-report.html`。系统观测 60 秒,检测电源配置错误、驱动功耗异常、睡眠阻塞问题;依赖 ETW 采集 power.sys 电源事件。
 
 `powercfg /BATTERYREPORT`            -生成电池健康报告,输出`battery-report.html`,统计电池设计容量、满充容量、历史充放电记录,笔记本专用。读取 battc.sys 上报电池数据。
 
 `powercfg /SLEEPSTUDY`            -现代待机(S0 Connected Standby)睡眠分析报告,生成 sleepstudy-report.html。仅支持 Modern Standby 机型,分析 S0 待机耗电、设备 D3 驻留时长、唤醒源、功耗异常。
 
 `powercfg /SYSTEMSLEEPDIAGNOSTICS`            -系统睡眠诊断,采集睡眠 / 唤醒过程的详细诊断日志,用于深度排查 S3/CS 睡眠失败、蓝屏 0x9F 等电源相关故障。
 
 `powercfg /SYSTEMPOWERREPORT`        -生成完整系统电源报告,长时间追踪系统电源状态、设备功耗、睡眠 / 唤醒事件,比 energy 报告时间跨度更长。
 
 `powercfg /POWERTHROTTLING <onoff>`        -开启 / 关闭电源节流(Power Throttling)。Win10 1709+,系统对后台进程限制 CPU 功耗降电量消耗;可全局开关电源节流策略,策略写入 power.sys。
 
 `powercfg /PROVISIONINGXML <文件名>``/PXML`        导出电源配置为预配 XML 文件,企业 OEM 批量部署系统时,用于在 OS 部署阶段预置电源方案(现代 Windows 预配框架)。   

 

powercfg 完整英文全称

缩写拆解

powercfg = Power Configuration
  • power:电源、能耗
  • cfg = configuration(配置)

官方完整工具名称

Power Configuration Command-Line Utility
 
中文:电源配置命令行工具

补充说明

  1. 可执行文件:powercfg.exe,Windows 原生电源管理命令行程序,用于管理电源计划、休眠、待机、CPU 性能、磁盘 / 显示器超时、现代待机、高精度时钟调度等。
  2. 常用配套参数英文释义
  • /a:Available(查看可用睡眠状态)
  • /hibernate:Hibernate(休眠开关、休眠文件管理)
  • /setactive:Set Active(启用指定电源方案)
  • /query:Query(查询电源配置完整参数)
  • /timeresolution:Timer Resolution(系统时钟 / 定时器精度,和你之前文档时钟精度强相关)

PixPin_2026-07-02_18-56-19

powercfg 完整解析(结合截图命令清单)

一、基础信息

  1. 英文全称
     
    powercfg = Power Configuration
     
    完整官方名称:Power Configuration Command-Line Utility
  2. 程序文件:powercfg.exe,Windows 内置电源管理命令行工具
  3. 核心关联场景:可控制系统时钟定时器精度(powercfg /timeresolution),与你之前文档中「音频混音 + 时间精度」强相关

二、核心功能分类(按截图命令分组)

1. 电源方案整体管理

参数 英文全称 功能说明
/LIST /L List 列出系统全部电源方案 GUID 与名称
/QUERY /Q Query 查看当前 / 指定电源方案完整配置项
/QUERYALTITUDES /QA Query Altitudes 带性能层级阈值的电源配置详情
/CHANGE /X Change 修改电源超时、CPU 性能等参数
/CHANGENAME Change Name 重命名电源方案 + 备注描述
/DUPLICATESCHEME Duplicate Scheme 复制现有电源方案生成新模板
/DELETE /D Delete 删除自定义电源方案
/DELETESETTING Delete Setting 删除单条自定义电源配置项
/SETACTIVE /S Set Active 设置指定方案为系统当前生效电源计划
/GETACTIVESCHEME Get Active Scheme 获取当前正在使用的电源方案

2. 交直流参数导入导出

  • /SETACVALUEINDEX:Set AC Value Index,交流电供电参数配置
  • /SETDCVALUEINDEX:Set DC Value Index,直流电(电池)参数配置
  • /IMPORT:Import,从 XML 文件导入整套电源配置
  • /EXPORT:Export,将当前电源方案导出为 XML 备份
  • /PROVISIONINGXML /PXML:生成部署用电源配置 XML 模板

3. 权限与标识管理

  • /ALIASES:Aliases,展示电源配置项别名与对应 GUID
  • /GETSECURITYDESCRIPTOR:Get Security Descriptor,读取电源项安全权限
  • /SETSECURITYDESCRIPTOR:Set Security Descriptor,修改电源项访问权限

4. 休眠、睡眠与唤醒控制

  • /HIBERNATE /H:Hibernate,开启 / 关闭系统休眠、管理 hiberfil.sys 大小
  • /AVAILABLESLEEPSTATES /A:Available Sleep States,查询硬件支持的睡眠等级(S0/S1/S2/S3/S4)
  • /DEVICEquery:Device Query,筛选具备唤醒 / 节能能力的硬件设备
  • /DEVICEENABLEWAKE:Device Enable Wake,允许设备唤醒主机
  • /DEVICEDISABLEWAKE:Device Disable Wake,禁止设备唤醒主机
  • /LASTWAKE:Last Wake,查询上次唤醒主机的设备 / 程序
  • /WAKETIMERS:Wake Timers,枚举系统定时唤醒任务

5. 应用电源请求与节流管控

  • /REQUESTS:Requests,查看占用硬件高功耗的进程、驱动、服务
  • /REQUESTSOVERRIDE:Requests Override,强制屏蔽指定程序的高功耗请求
  • /POWERTHROTTLING:Power Throttling,控制后台应用 CPU 功耗节流策略

6. 系统能耗诊断报告

  • /ENERGY:Energy,扫描系统能耗异常、定时器精度、硬件节能缺陷
  • /BATTERYREPORT:Battery Report,生成电池损耗、充放电循环报告
  • /SLEEPSTUDY:Sleep Study,睡眠 / 待机唤醒全过程诊断日志
  • /SYSTEMPOWERREPORT:System Power Report,综合系统电源转换诊断报告

三、与你之前开发文档关联重点

1. 定时器精度联动核心命令

cmd
powercfg /timeresolution
作用:查看系统当前时钟中断粒度(默认 15.625ms),可配合sndvol音频混音程序动态调整,平衡音频流畅度与整机功耗。

2. 服务器 NAS 场景适配指令

Windows Server 2022 Datacenter(NAS 存储)推荐执行:
cmd
# 锁定最高节能粒度,关闭多媒体高精度时钟,降低存储服务器CPU开销
powercfg /setactive 高性能平衡方案GUID
powercfg /requestsoverride 屏蔽音频程序长期占用高精度定时器

四、典型业务组合使用示例

  1. 音频工作站(sndvol + 高精度时钟)
cmd
powercfg /setactive 高性能
powercfg /timeresolution
# 配合sndvol专业音频模式,维持1ms定时器粒度
  1. Windows Server NAS 静音低负载
cmd
powercfg /setactive 节能
powercfg /requestsoverride PROCESS audiodg.exe
# 强制音频进程无法抢占高精度时钟,减少存储IO竞争
  1. 导出电源配置批量部署多台存储服务器
cmd
powercfg /export C:\nas-power.xml
# 其他服务器导入:powercfg /import C:\nas-power.xml

powercfg 定制优化电源管理完整操作方案

一、基础概念说明

1. 工具全称

powercfg = Power Configuration Command-Line Utility,Windows 原生电源配置命令行工具,支持全量修改、导出、部署多套电源计划参数,适配 Windows Server 2022 Datacenter、桌面系统,可联动定时器精度、音频功耗、存储负载做专项优化。

2. 核心逻辑

系统内置 3 套默认电源计划:平衡、高性能、节能;支持复制自定义方案,针对交流电 (AC)、直流电 (DC) 两套独立参数分别配置,覆盖 CPU、磁盘、显示器、定时器、睡眠、硬件唤醒、功耗节流全维度设置。

二、前置操作:电源计划基础管理(必做)

1. 查看所有电源计划(获取 GUID)

powershell
powercfg /list
输出会展示每套方案名称 + 唯一 GUID,后续修改、启用、复制都依赖 GUID。

2. 复制现有方案,生成自定义模板(不修改系统默认方案)

powershell
# 格式:powercfg /duplicatescheme 源方案GUID
powercfg /duplicatescheme 381b4222-f694-41f0-9685-ff5bb260df2e
复制后会生成全新自定义电源计划,避免修改系统内置方案无法恢复。

3. 重命名自定义方案

powershell
# powercfg /changename 方案GUID "方案名称" "备注描述"
powercfg /changename 自定义GUID "NAS服务器专用高性能方案" "存储服务器优化,关闭睡眠、提升时钟精度"

4. 启用自定义电源计划

powershell
powercfg /setactive 自定义方案GUID

三、核心:修改电源计划参数(powercfg /change /X)

通用语法

powershell
# AC=插电,DC=电池(服务器无电池仅配置AC)
powercfg /change /X [参数名] [数值]
powercfg /setacvalueindex 方案GUID 子组GUID 设置GUID 数值
powercfg /setdcvalueindex 方案GUID 子组GUID 设置GUID 数值

常用优化参数场景分组

场景 1:Windows Server 2022 NAS 存储服务器优化(无显示器、禁止睡眠、满性能)

powershell
# 1. 关闭显示器自动关闭(插电永不熄屏)
powercfg /x monitor-timeout-ac 0
# 2. 关闭硬盘自动休眠,防止iSCSI/SMB存储断连
powercfg /x disk-timeout-ac 0
# 3. 关闭整机睡眠,避免存储服务离线
powercfg /x standby-timeout-ac 0
# 4. 关闭休眠
powercfg /hibernate off
# 5. CPU锁定100%性能,禁用节能降频
powercfg /x processor-min-state-ac 100
powercfg /x processor-max-state-ac 100
# 6. 禁用后台功耗节流,保障存储进程算力
powercfg /powerthrottling disable

场景 2:音频工作站(sndvol 音频混音 + 高精度定时器)

powershell
# CPU最小性能50%,防止音量渐变卡顿
powercfg /x processor-min-state-ac 50
# 延长磁盘休眠时间,避免音频读写卡顿
powercfg /x disk-timeout-ac 600
# 查看/维持高精度定时器粒度,配合音频平滑调度
powercfg /timeresolution

场景 3:办公节能方案(降低功耗)

powershell
# 5分钟关闭显示器
powercfg /x monitor-timeout-ac 5
# 20分钟休眠硬盘
powercfg /x disk-timeout-ac 20
# 30分钟无操作进入待机
powercfg /x standby-timeout-ac 30
# CPU最低5%节能降频
powercfg /x processor-min-state-ac 5

四、精细化高级定制(子项精准配置)

  1. 查询电源方案完整层级参数(获取子组 / 设置 GUID)
powershell
powercfg /query 方案GUID
  1. 精准修改单一项(示例:修改 AC 模式下 CPU 性能提升模式)
powershell
powercfg /setacvalueindex 方案GUID 54533251-82be-4824-96c1-47b60b740d00 943e066a-ab7a-4a72-9d6b-3dcb36c2d49b 2

五、方案批量导出 / 导入(多服务器统一部署)

1. 将当前定制完成的电源方案导出为 XML

powershell
powercfg /export C:\NAS_Power_Opt.xml 自定义方案GUID

2. 其他服务器导入整套配置

powershell
powercfg /import C:\NAS_Power_Opt.xml
适合批量部署 Windows Server 2022 NAS 集群,统一电源优化策略。

六、配套诊断:校验优化效果

  1. 查看当前生效电源配置
powershell
powercfg /q
  1. 生成整机能耗诊断报告,检查功耗异常、定时器精度、硬件睡眠冲突
powershell
powercfg /energy
  1. 查看进程电源请求,屏蔽音频 / 第三方程序长期占用高精度时钟
powershell
powercfg /requests
# 屏蔽指定进程电源请求
powercfg /requestsoverride PROCESS audiodg.exe DISPLAY

七、业务优化价值总结

  1. 存储服务器场景:通过powercfg关闭睡眠、硬盘休眠、CPU 降频,杜绝 SMB/iSCSI 存储掉线,保障 NAS 持续稳定运行;
  2. 音频工作站场景:定制 CPU 最低性能、延长磁盘超时,配合sndvol音量混合器 + 高精度定时器,消除音量渐变卡顿、爆音;
  3. 批量运维场景:XML 导入导出实现多台服务器电源配置标准化,无需逐台图形界面手动设置;
  4. 能耗平衡场景:区分高性能 / 节能两套方案,按需切换,兼顾硬件性能与整机功耗。

 


@echo off
:: 禁用休眠
powercfg -h off

:: 设置屏幕超时为0(永不关闭)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "InactivityTimeoutSecs" /t REG_DWORD /d 0 /f

:: 设置电源计划为高性能
powercfg -setactive SCHEME_MAX

:: 设置睡眠时间为0(永不进入睡眠模式)
powercfg -change -standby-timeout-ac 0
powercfg -change -standby-timeout-dc 0

:: 设置休眠时间为0(永不休眠)
powercfg -change -hibernate-timeout-ac 0
powercfg -change -hibernate-timeout-dc 0

:: 关闭硬盘超时
powercfg -change -harddisk-timeout-ac 0
powercfg -change -harddisk-timeout-dc 0

:: 设置显示器超时为0(永不关闭)
powercfg -change -monitor-timeout-ac 0
powercfg -change -monitor-timeout-dc 0

:: 启用快速启动
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v "HiberbootEnabled" /t REG_DWORD /d 1 /f

:: 禁用USB选择性挂起
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "CsEnabled" /t REG_DWORD /d 0 /f

:: 输出完成信息
echo Power settings optimized.
pause

 


 

posted @ 2024-03-17 00:11  suv789  阅读(1082)  评论(0)    收藏  举报