Install
openclaw skills install @frankxpj/optimize-laptop-powerWindows power-saving reference guide with verifiable commands for balanced plan, Defender tuning, and SysMain.
openclaw skills install @frankxpj/optimize-laptop-powerWindows 笔记本电源优化参考指南。本 Skill 不会自动执行任何操作,所有命令需由用户自行在管理员 PowerShell 中确认和执行。
⚠️ 重要提示:本 Skill 是参考指南,不是自动化脚本。 所有命令均需用户手动复制粘贴、并理解其影响后再执行。 执行本 Skill 的任何操作即代表你已了解并接受相关风险。
本参考指南覆盖以下内容:
| 阶段 | 类别 | 具体操作 | 影响范围 |
|---|---|---|---|
| 🔍 诊断 | 电池 | 查看电池容量退化、健康度、当前放电速率 | 只读查询 |
| 🔍 诊断 | 进程 | 分析高内存/高CPU的耗电应用 | 只读查询 |
| 🔌 优化 | 电源 | 切换系统内置电源计划 | 修改电源方案 |
| 🛡️ 优化 | 安全 | Defender 排除路径 | 降低特定目录的扫描频率 |
| 🛡️ 优化 | 安全 | Defender 扫描策略 | 修改实时保护的文件扫描范围 |
| ⚙️ 优化 | 服务 | 禁用 SysMain (Superfetch) | 修改系统服务启动类型 |
⚠️ 执行前请确认:
powercfg /list 查看,记下当前激活的 GUID 以备恢复在动手优化之前,必须先做诊断。 以下是三个诊断步骤,按推荐顺序执行。
$battery = Get-WmiObject -Namespace root/wmi -ClassName BatteryFullChargedCapacity
$design = Get-WmiObject -Namespace root/wmi -ClassName BatteryStaticData
$pct = [math]::Round($battery.FullChargedCapacity / $design.DesignedCapacity * 100, 1)
Write-Output "设计容量: $($design.DesignedCapacity) mWh"
Write-Output "当前满充: $($battery.FullChargedCapacity) mWh"
Write-Output "电池健康度: $pct%"
解读:
$status = Get-CimInstance -Namespace root/wmi -ClassName BatteryStatus
Write-Output "当前连接电源: $($status.PowerOnline)"
Write-Output "剩余容量: $($status.RemainingCapacity) mWh"
Write-Output "当前放电速率: $($status.DischargeRate) mW ($([math]::Round($status.DischargeRate/1000, 1)) W)"
典型参考值(笔记本不插电时):
执行以下两段命令,分别查看内存占用 TOP 15 和 CPU 占用 TOP 15 的进程:
# 内存消耗 TOP 15
Write-Output "===== 内存消耗 TOP 15 ====="
Get-Process | Where-Object { $_.WorkingSet64 -gt 50MB } | Sort-Object WorkingSet -Descending | Select-Object -First 15 Name, @{N='MemMB';E={[math]::Round($_.WorkingSet64/1MB,1)}}, @{N='CPUs';E={[math]::Round($_.TotalProcessorTime.TotalSeconds,0)}} | Format-Table -AutoSize
# 各应用总内存(同类进程合并)
Write-Output "===== 按应用汇总 ====="
Get-Process | Group-Object Name | Sort-Object {($_.Group | Measure-Object WorkingSet64 -Sum).Sum} -Descending | Select-Object -First 10 Name, Count, @{N='TotalMemMB';E={[math]::Round(($_.Group | Measure-Object WorkingSet64 -Sum).Sum/1MB,1)}} | Format-Table -AutoSize
# GPU 使用情况
Write-Output "===== GPU 功耗(如有NVIDIA显卡)====="
nvidia-smi --query-gpu=power.draw,temperature.gpu,utilization.gpu,memory.used --format=csv,noheader,nounits 2>$null
解读结果的关键点:
完成诊断后,根据你看到的实际情况选择需要执行的优化项。
适合的情况:诊断显示当前电源计划是"高性能"(通常 GUID 包含 8c5e7fda)
影响:仅修改电源方案,不涉及安全策略,可随时切换回原计划。
# 先查看当前有哪些电源计划
powercfg /list
# 切换到「平衡」计划(推荐)
powercfg /s 381b4222-f694-41f0-9685-ff5bb260df2e
# 或切换到「节能」计划(更省电但性能有牺牲)
powercfg /s a1841308-3541-4fab-bc81-f71556f20b4a
适合的情况:诊断显示 MsMpEng CPU > 500秒 或 内存 > 300MB 影响:Defender 将跳过指定目录的实时扫描。注意这是安全让步——排除目录内的文件若被写入恶意代码,Defender 不会实时拦截。
⚠️ 路径必须由你亲自填入,不要依赖 AI 猜测。
# 替换为你自己的目录后执行
Add-MpPreference -ExclusionPath "D:\YourAIProjects"
Add-MpPreference -ExclusionPath "C:\Users\YourName\.openclaw"
Add-MpPreference -ExclusionPath "C:\Users\YourName\.npm"
# 查看已添加的排除路径
Get-MpPreference | Select-Object -ExpandProperty ExclusionPath
推荐排除哪些目录?
~/.openclaw)C:\Windows、C:\Program Files)、下载目录、临时文件目录适合的情况:诊断显示 MsMpEng 持续高 CPU,且已加了排除路径但仍然偏高 影响:从"监控所有文件操作"降为"仅监控写入/传入文件"。打开文件时不扫描,降低磁盘 I/O。
Set-MpPreference -RealTimeScanDirection 1
| 参数值 | 含义 | 安全影响建议 |
|---|---|---|
| 0 | 监控所有文件操作(默认) | ✅ 对安全敏感的用户保持默认 |
| 1 | 仅监控传入/写入文件 | ⚠️ 省电推荐,风险可控 |
| 4 | 仅监控传出文件 | ❌ 风险较高,不推荐 |
| 5 | 传出+传入 | ⚠️ 次低选项 |
适合的情况:诊断确认硬盘为 SSD 影响:禁用后系统不再后台预缓存应用到内存。仅 SSD 用户建议操作,机械硬盘用户请跳过。
# 先确认你的硬盘类型
Get-PhysicalDisk | Select-Object FriendlyName, MediaType
# 如果显示 SSD,可以执行:
Stop-Service SysMain -Force
Set-Service SysMain -StartupType Disabled
# 验证
Get-Service SysMain
# 期望结果:StartupType = Disabled, Status = Stopped
执行优化后如果想撤销,按对应操作还原:
| 优化项 | 恢复命令 |
|---|---|
| 电源计划 | powercfg /s <你之前记下的GUID> |
| 排除路径 | Remove-MpPreference -ExclusionPath "D:\YourAIProjects" |
| 扫描方向 | Set-MpPreference -RealTimeScanDirection 0 |
| SysMain | Set-Service SysMain -Automatic; Start-Service SysMain |
powercfg /list 的 GUID — 不同机器、不同 Windows 版本的电源计划 GUID 可能不同,请不要直接复用本文档的 GUID 而不验证