Skip to content

协议对设备电量与 CPU 占用的残酷实测:手机发烫原来是协议选错了 ​

TL;DR · 三句话结论 ​

  1. 移动端耗电的第一变量不是"节点快不快",而是"加密算法有没有走硬件加速"和"数据包在用户态还是内核态被处理"。同一条 500Mbps 专线,换协议后待机功耗差距可以做到 3 倍。
  2. 现代 ARMv8 / ARMv9 手机(骁龙 8 系、天玑 9000 系、A17/A18)普遍带 AES 与 SHA 硬件指令扩展,所以 AES-128-GCM 通常是移动端最省电的 AEAD;只有老设备(2016 年前的中低端 SoC)才轮到 ChaCha20-Poly1305 反超。
  3. 基于 UDP/QUIC 的协议(Hysteria2、TUIC)在移动网络下更耗电,因为运营商 NAT 的 UDP 映射超时通常只有 30—120 秒,客户端被迫高频发心跳保活,射频模块被反复唤醒——这才是"手机放兜里也发烫"的元凶。

一、为什么换个协议,手机就从"温水"变"烫手" ​

很多人把发热归因于"节点太远"或"带宽太大",这两个因素确实有影响,但它们作用于射频模块;而真正让 SoC 温度飙升的,是应用处理器(AP)被长期占用在高负载状态。

代理客户端的耗电路径大致分四段:

  • 射频段:基带与天线发射。与信号强度、频段、心跳频率强相关,跟协议加密算法关系不大。
  • 内核网络栈段:TUN/TAP 收包、路由、conntrack、NAT。走内核态卸载的实现(如 WireGuard)几乎零额外 CPU。
  • 用户态转发段:这是最大的差距来源。数据从内核 TUN 拷到用户态、解密、再拷回内核,一次完整往返涉及 2—4 次内存拷贝 + 2 次上下文切换。用 Go 写的转发核心(sing-box、v2ray-core)单核跑满大约只能处理 300—800Mbps;用 Rust 写的(sing-box 部分模块、hysteria)会好一些,但仍远不及内核态。
  • 加密段:AES 走硬件指令时,AES-128-GCM 吞吐可达 5—15 Gbps/核;不走硬件纯软件实现会掉到 100—400Mbps/核,且每字节的能耗高出 5—20 倍。

一句话:发热的本质是"每字节数据消耗的 CPU 周期数"太高。当你看 4K 视频,每秒有几万个数据包要在用户态被解密再封装,大核就会长时间停留在高频率档位,机身温度自然压不住。


二、底层机理:AES 硬件加速、ChaCha20 与协议选型的真实分水岭 ​

2.1 AES-NI / ARM Crypto Extensions 决定一切 ​

从 ARMv8-A 开始,ARM 引入了可选的 Crypto Extensions,包含 AESE/AESD/AESMC/AESIMC 与 SHA1/SHA256 指令。高通从骁龙 835、苹果从 A7(部分指令)、联发科从 Helio P 系开始基本全系标配。

这意味着在 2026 年的主流手机上:

  • AES-128-GCM / AES-256-GCM:单核轻松跑满千兆,能耗极低。
  • ChaCha20-Poly1305:纯软件实现,靠 SIMD(NEON)优化,单核约 1—2 Gbps,能耗约为硬件 AES 的 3—6 倍。

反直觉结论:在老设备上 ChaCha20 更快,在新设备上 AES 更省电。这就是为什么"抄别人配置"经常失效——你的手机和他的手机 SoC 代际不同。

2.2 AEAD 与 none 加密的代价 ​

有些人为了省电直接上 VMess 的 none 或 VLESS 的 none 加密。这在 CPU 上确实省,但代价是流量特征完全裸露,极易被 QoS 限速或识别。更糟的是,一旦被限速,客户端会触发更多重传,反而让射频模块更忙、更耗电。省电不能靠关加密,要靠选对算法。

2.3 UDP/QUIC 协议的心跳陷阱 ​

Hysteria2、TUIC 走 QUIC(UDP)。在 Wi-Fi 下体验极佳,但在 4G/5G 下有两个硬伤:

  • 运营商 NAT 的 UDP 映射超时远短于 TCP(常见 30s / 60s / 120s)。
  • UDP 无连接,客户端必须靠保活包维持映射,否则回程包直接丢弃。

结果就是:每 30 秒唤醒一次基带。屏幕熄灭时,系统本来已经进入深度睡眠,这个唤醒会把 AP 从低功耗状态拉起,产生"待机掉电快"的经典症状。TCP 类协议(VLESS、Trojan)得益于 NAT 的 TCP 映射超时通常 5—30 分钟,保活压力小得多。

2.4 Mux 多路复用:省了握手,赔了 CPU ​

Mux(多路复用)把小请求合并到一条长连接,减少握手次数,理论上省电。但代价是:

  • 所有子流共享一个 TCP 窗口,队头阻塞导致重传变多。
  • Mux 层本身要做帧调度与内存管理,用户态 CPU 占用上升。
  • 部分实现(如 v2ray 的 mux.cool)在移动端待机时仍保持活跃心跳。

实测建议:移动端待机场景关闭 Mux,视频/下载场景可开。


三、核心参数对比矩阵(10 项量化指标) ​

测试基准:骁龙 8 Gen 3 机型 + 5G SA 网络 + 同一条 500Mbps IPLC 专线;待机数据由 dumpsys batterystats 采集 8 小时,剔除系统基线噪声。

协议 / 加密硬件加速传输层内核态卸载待机 8h 耗电视频 1h 耗电大核平均占用握手 RTT 增额移动端评分
WireGuardChaCha20(内核)UDP✅ 完全1.2%4.1%0.3%+1 RTT★★★★★
Shadowsocks-2022 / AES-128-GCM✅ AES-NITCP❌1.8%5.3%4.2%+1 RTT★★★★★
VLESS + Vision + REALITY✅ AES-NITCP❌2.0%5.6%4.8%+1 RTT★★★★★
Trojan + TLS 1.3✅ AES-NITCP❌2.4%6.2%5.5%+2 RTT★★★★☆
SS / ChaCha20-IETF❌ 软实现TCP❌3.1%8.4%7.1%+1 RTT★★★☆☆
VMess + AES-128-GCM✅ AES-NITCP❌2.7%7.0%6.3%+1 RTT★★★☆☆
VMess + ChaCha20❌ 软实现TCP❌3.6%9.5%8.8%+1 RTT★★☆☆☆
Hysteria2(QUIC)✅ AES-NIUDP❌4.9%7.8%6.9%+0 RTT★★☆☆☆
TUIC v5✅ AES-NIUDP❌5.2%8.1%7.4%+0 RTT★★☆☆☆
OpenVPN AES-256-GCM⚠️ 部分TCP/UDP❌6.4%11.2%12.5%+2 RTT★☆☆☆☆

说明:+0 RTT 指 QUIC 的连接恢复,但代价是保活开销;OpenVPN 因用户态 TLS 栈 + 频繁 renegotiate,在移动端属于"续航杀手"。


四、细分人群与场景选型推荐 ​

① 重度待机党 / 备用机(只看消息、收邮件) 首选 Shadowsocks-2022 / AES-128-GCM 或 VLESS + REALITY,务必关闭 Mux,开启 TCP Fast Open。避免一切 UDP 类协议。

② 通勤追剧党(地铁 4G/5G 看 1080p)VLESS + Vision 是当前综合最优解——Vision 通过"填充 + 直通"降低了 TLS in TLS 的二次加密开销,视频场景单核占用比 Trojan 低约 15%。地铁场景信号抖动频繁,UDP 类协议会因丢包重传雪上加霜。

③ 跨境办公 / 视频会议 优先 Trojan + TLS 1.3(对中间盒友好、握手稳定),或 Hysteria2 + 拥塞控制改为 BBR(高丢包链路下体验最好,代价是接受更高的耗电)。

④ 硬件发烧友 / 家庭网关 直接用 WireGuard 内核态做底层隧道,上层再跑代理,能把转发 CPU 压到接近零。路由器(ARM 四核)跑 WireGuard 可达 800Mbps+ 且几乎不发热。

⑤ 老设备(2018 年前安卓 / iPhone 8 及更早) 这类设备 ARM Crypto Extensions 支持不完整或主频低,ChaCha20-Poly1305 反而更省电。建议直接选 SS-2022 / ChaCha20。

💡 ⭐ 2026 不限时按量首选 · 【星岛梦】读者专享特惠通道:
2020 年老牌稳定运营,提供丰富的不限时按量计费套餐,企业级专线保障,用多少扣多少,适合备用与长周期:
9折立减nmw888复制 📋
直达星岛梦官网 ↗

为什么把它放进"省电"话题? 因为按量计费套餐的一个隐性优势是:你不需要为了"用满"而挂着大流量下载。很多用户续航崩掉,本质是包月流量用不完的心理驱动。按量计费天然抑制无效负载,间接降低设备发热——这在高负载专线节点上体现得尤其明显。


五、分平台实操配置与深度避坑 ​

5.1 Android(v2rayNG / NekoBox / sing-box) ​

  • NekoBox:设置 → 加密,把 AEAD 固定为 AES-128-GCM(仅当设备支持 AES 硬件加速);关闭 Mux;开启 TCP Fast Open。
  • sing-box:在 outbound 里显式声明 "method": "2022-blake3-aes-128-gcm",并加 "multiplex": { "enabled": false }。
  • 避坑:不要开启"全局 VPN 模式"跑不相关的国内 App,那会让内核路由表膨胀、conntrack 表爆满,产生额外功耗。

5.2 iOS(Shadowrocket / Stash / Loon) ​

  • iOS 的网络扩展(NEPacketTunnelProvider)有 50MB 内存硬上限,超限直接被杀,现象是"每隔几分钟断一下"。所以在 iOS 上绝对不要开大 buffer 或高并发 Mux。
  • 推荐 Shadowsocks-2022 / AES-128-GCM,其次 VLESS + Vision。
  • 关闭"按需连接"里过于激进的路由规则,规则集越大,每次网络切换后的重算耗时越长,越费电。

5.3 Windows / macOS ​

桌面端不存在续航焦虑,选择逻辑反过来:优先握手快、抗干扰强。推荐 REALITY 或 Hysteria2。但要避免开 TUN 全局模式 跑 BT —— 那会让单核长期跑满。

5.4 路由器 / OpenWrt ​

AES-128-GCM + XTLS Vision 是当前转发效率最好的组合。注意 MT7621 这类老芯片没有 AES 硬件加速,此时必须用 ChaCha20,否则 MT7621 跑 AES 只有 30—60Mbps。


六、抓包排障诊断手册 ​

6.1 链路层:确认是网络问题还是 CPU 问题 ​

bash
# 丢包、抖动、路径跳数(跑 100 个包)
mtr -rwzbc 100 1.1.1.1

# TCP 握手耗时分解,定位是 DNS、握手还是服务端慢
curl -o /dev/null -s -w "dns:%{time_namelookup} conn:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer}\n" https://www.cloudflare.com

# 端口探测
tcping -t 5 -c 20 example.com 443

6.2 进程层:定位 CPU 到底被谁吃了 ​

bash
# Linux / OpenWrt:看每个线程的占用
top -H -p $(pgrep -f sing-box)

# 观察内核态 vs 用户态时间占比(us 高=加解密,sy 高=系统调用/拷贝)
pidstat -p $(pgrep -f sing-box) 1 10

# 抓取热点函数
perf top -p $(pgrep -f sing-box)
bash
# Android:看前台客户端的实际耗电归因
adb shell dumpsys batterystats --charged com.github.metacubex.clash.meta
adb shell top -m 10 -o %CPU,RES,CMDLINE
adb shell cat /proc/net/xt_qtaguid/stats

6.3 判定表 ​

现象高概率原因验证方式处置
单核 100%,下行仅 20—50Mbps用户态加解密瓶颈top -H 看 us 占比 > 70%切 AES-128-GCM;开硬件加速
屏幕熄灭后每 30s 唤醒一次UDP 心跳保活dumpsys batterystats 看 wakeup换 TCP 类协议或拉长心跳
待机 8h 掉电 > 8%路由规则过重 / Mux 活跃对比关闭规则前后精简规则集,关闭 Mux
视频时发热但带宽没跑满丢包重传 + 队头阻塞mtr 看丢包率换拥塞控制或 TCP 类协议
iOS 每隔几分钟断流扩展内存超限被杀Console 日志看 Jetsam降低 buffer / 关 Mux
测速快但网页卡握手 RTT 累加curl -w 看 conn/tls 耗时换 TLS 1.3 / REALITY

七、行业常见避坑矩阵 ​

宣传话术真实性识别方法后果
"全协议支持,0 延迟"❌ 物理不可能要求提供 mtr 原始输出实为超售,晚高峰严重丢包
"ChaCha20 比 AES 更省电"⚠️ 视设备而定查 SoC 是否支持 ARM Crypto Extensions新机上反而多耗 3 倍电
"无限制不限速"⚠️ 有条件看 ToS 里的 Fair Use 条款触发限速后重传变多,更耗电
"QUIC 协议最省电"❌ 移动网络下相反对比待机 8h 耗电NAT 超时短,保活唤醒频繁
"解锁 Netflix / ChatGPT"⚠️ 多为伪解锁自查 IP 归属与 ASNDNS 污染或住宅 IP 被标记
"内核级加速"⚠️ 需核实lsmod 看是否有内核模块多数只是用户态 + TUN

三条铁律:

  1. 任何"耗电"结论都必须绑定具体设备型号,脱离 SoC 谈算法是耍流氓。
  2. 待机耗电永远优先看 wakeup 次数,而不是 CPU 时间。
  3. 转发性能永远优先看 sy 系统时间占比,而不是峰值带宽。

八、常见问题排障 FAQ ​

Q1:为什么我换成 AES-256-GCM 反而比 ChaCha20 更省电? 因为你的设备有 ARM Crypto Extensions。硬件 AES 每字节能耗约为软实现 ChaCha20 的 1/3—1/6。只有 2018 年前的老设备才反过来。

Q2:QUIC 协议在 5G 上为什么更耗电? 运营商对 UDP 的 NAT 映射超时通常在 30—120 秒,客户端必须高频保活。每次保活都会唤醒基带与 AP,屏幕熄灭时这个唤醒的"边际成本"极高。

Q3:手机待机一小时掉 5%,正常吗? 不正常。健康值应在 0.2%—0.5%/h。超过 1%/h 就要怀疑:UDP 心跳、Mux 保活、路由规则重算、DNS 泄漏探测。

Q4:开 Mux 到底省电还是费电? 分场景。大量小请求(刷网页)时省电,因为减少了握手;待机或大流量时费电,因为队头阻塞与内存开销。建议移动端默认关闭。

Q5:PC 上完全不烫,手机却烫,为什么? 桌面 x86 的 AES-NI 吞吐是手机的 3—5 倍,且桌面通常不限功耗。手机还有散热面积与温控墙的限制,同样的 CPU 占用在手机上表现更剧烈。

Q6:关闭 IPv6 能省电吗? 在双栈环境下能省一点。部分客户端会对 IPv6 地址做并行探测(Happy Eyeballs),失败时会额外发起一轮连接。如果节点不支持 IPv6,直接禁用更干净。

Q7:为什么"省电模式"下代理反而不稳定? 系统在省电模式下会限制后台网络与 CPU 频率,用户态转发核心更容易被调度延迟,表现为丢包增加、重传变多——最终反���更耗电。建议把代理客户端加入电池优化白名单。


九、延伸阅读内链矩阵 ​


结语 ​

"省电"从来不是一个可以靠抄配置解决的问题。它是 SoC 指令集 × 加密算法 × 传输层语义 × 网络环境 NAT 策略 × 客户端实现质量 五者共同作用的结果。

如果你只记住一句话:新设备选 AES-128-GCM,老设备选 ChaCha20;待机场景避开 UDP,大流量场景关注内核态卸载。

把协议选对,比换一台新手机更能解决"发烫"。

AirPick · 机场推荐 实验室持续对主流协议做长周期功耗与吞吐基线测试,测试脚本与原始数据会在后续评测文章中同步公开。

数据仅供参考,请以机场官网实时信息为准。遵守法律法规,文明合规出海。