本本用Pop OS发烫掉电快?开启节能模式后续航翻倍,风扇不响了CPU温度直降,亲测从5小时变9小时还能延长电池寿命
前几天有个朋友找我吐槽,说他那台装着Pop OS的笔记本简直像个暖手宝,坐腿上都能煎鸡蛋了,更致命的是——满电出门,两小时回来就没电了,风扇呼呼转得像要起飞,电池健康度也直线跳水。
我仔细一看他的系统配置,确实问题不少。Pop OS虽然是以Ubuntu为基础优化的系统,对硬件适配做得很好,但默认的性能策略是偏向”火力全开”的,尤其是那些用Intel或者AMD处理器的笔记本,默认情况下CPU频率不会主动降下来,风扇也就只能疯狂散热。
不过好消息是,Linux内核其实内置了一套相当成熟的节能机制,只是默认没有完全开启。今天我就来把这一套操作流程完整讲清楚,帮你把发烫和掉电问题一次性解决掉。
先搞清楚:你的笔记本到底在”发什么疯”
在动手调任何东西之前,我们得先看看系统现在是怎么跑的。你可以打开终端,运行下面这几个命令来采集信息:
# 查看CPU当前频率和负载
lscpu | grep -E "MHz|CPU\(s\)|Model name"
# 查看每个核心的实时频率(GHz)
for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq; do
echo "$(echo $cpu | cut -d'/' -f9): $(( $(cat $cpu) / 1000 )) MHz"
done
# 查看当前电源管理 Governor 模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 查看电池当前状态
upower -i /org/freedesktop/UPower/devices/battery_BAT0
一个典型的”发疯”状态长这样:
Model name: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
cpu MHz: 4900.000 ← 注意这里,已经跑到接近最大睿频了
scaling_governor: performance ← 问题就在这,永远满血输出
而电池信息里你可能看到:
percentage: 43%
capacity: 48.5 Wh
energy: 20.8 Wh
power: 8.2 W ← 功耗不低
state: discharging
8瓦以上的待机功耗,对于一块48Wh的电池来说,算下来也就五六个小时,再加上CPU飙频的时候功耗轻松突破30瓦,5小时已经是极限了。
核心方案一:切换CPU Governor到”schedutil”或”powersave”
Linux内核通过CPUFreq子系统来管理CPU频率,其中有一个关键概念叫 Governor( governors )。你可以把它理解为CPU的”性格模式”:
| Governor | 特点 | 适合场景 |
|---|---|---|
performance |
永远最高频率,最耗电 | 编译代码、跑大型程序 |
powersave |
尽量用低频率,最省电 | 日常办公、看视频 |
schedutil |
根据调度器负载动态调整,最智能 | 日常使用首选 |
conservative |
平滑升降频 | 老款CPU |
Pop OS默认用的多半是performance或者ondemand,这就是发烫的根源。
查看当前有哪些governor可用
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
输出类似:
performance powersave schedutil conservative
如果里面有schedutil,那直接用这个就对了。
切换为schedutil(推荐日常使用)
# 需要管理员权限
sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor <<< schedutil
执行完后验证一下:
cat /sys/devices/system/cpu/cpu0/cpufreq/sccaling_governor
# 应该输出: schedutil
切换为powersave(极致省电模式)
sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor <<< powersave
核心方案二:使用TLP——一键搞定所有节能设置
手动一个个改固然能解决问题,但重启之后可能就失效了,而且还有很多细节没覆盖到。这时候就需要请出Linux笔记本节能领域的”神器”——TLP。
TLP是一个命令行工具,安装配置好之后会自动在后台运行,处理CPU频率、硬盘休眠、USB电源管理、磁盘写入平衡等一整套节能策略,而且能持久生效。
安装TLP
# 更新软件源
sudo apt update
# 安装TLP(如果之前装过可以先移除旧的)
sudo apt install -y tlp tlp-rdw
# 安装电源管理图形化工具(可选,方便查看状态)
sudo apt install -y tlpui
安装完成后,TLP默认就已经在后台跑起来了。你可以查看它的状态:
sudo tlp-stat -s
输出类似:
+++ System Status
Power Source: Battery
Charge: 43.0 %
Reason for not charging: -
AC Vendor: LITE-ON Technology
...
再看详细的CPU和电源策略:
sudo tlp-stat -c
修改TLP配置文件
默认配置已经很友好了,但如果你想更极致一点,可以编辑配置文件:
sudo nano /etc/tlp.conf
这里有一些关键参数建议修改:
# ========== CPU电源管理 ==========
# 使用schedutil governors(推荐)
CPU_SCALING_GOVERNOR_ON_AC=schedutil
CPU_SCALING_GOVERNOR_ON_BAT=powersave
# 性能档位(数值越低越省电,范围1-20)
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power
# 最大最小频率限制(可选,限制最大频率到80%可以显著降温)
# CPU_FREQ_FREQ_ON_AC=4800000 4800000
# CPU_FREQ_FREQ_ON_BAT=800000 2400000
# ========== 磁盘电源管理 ==========
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
# ========== USB电源管理 ==========
USB_AUTOSUSPEND=1
USB_AUTOSUSPEND_DISABLE_ON_WRITE=0
# ========== 无线网卡电源管理 ==========
RAMPARITY_ON_AC=0
RAMPARITY_ON_BAT=0
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
# ========== 声卡电源管理 ==========
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
# ========== 硬盘电源管理 ==========
IDE_PM_ON_AC=max_performance
IDE_PM_ON_BAT=min_power
修改完之后重启TLP服务让配置生效:
sudo tlp start
安装tlpui图形界面(可选)
如果你不习惯敲命令,可以安装TLP的图形界面:
sudo tlpui
这个界面能让你直观地看到当前的电源状态和所有设置,对初学者非常友好。
核心方案三:针对AMD处理器的额外优化
如果你的笔记本用的是AMD的CPU(比如Ryzen系列),除了上面的TLP之外,还有一些专门针对AMD芯片的优化。
查看AMD Ryzen的P-State驱动
# 查看当前P-State驱动
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
# 应该输出: acpi-cpufreq 或 amd-pstate
如果是较新的AMD处理器(Ryzen 4000系列及以后),可能已经支持amd-pstate驱动,这个驱动比老的acpi-cpufreq更高效。
启用AMD pstate驱动
# 查看是否支持amd-pstate
lsmod | grep amd_pstate
# 如果没有加载,手动加载
sudo modprobe amd-pstate
# 添加到开机自动加载
echo "amd-pstate" | sudo tee -a /etc/modules
然后在TLP配置文件中确认CPU Governors设置为schedutil:
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_SCALING_GOVERNOR_ON_AC=schedutil
核心方案四:内核参数级别的优化
除了TLP,还可以通过修改GRUB内核参数来进一步优化电源管理。
编辑GRUB配置
sudo nano /etc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT这一行,在后面添加以下参数:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=policy=power_on i915.enable_fbc=1 i915.enable_rc6=1 ipv6.disable=0"
各参数说明:
pcie_aspm=power_on:启用PCIe主动状态电源管理,让显卡、SSD等外设在不工作时进入低功耗状态i915.enable_fbc=1:启用Intel集成显卡的帧缓冲压缩,降低显存功耗i915.enable_rc6=1:启用Intel集成显卡的深度低功耗状态
更新GRUB配置
sudo update-grub
然后重启系统让参数生效。
核心方案五:BIOS/UEFI层面的设置
有时候问题不出在系统层,而是在BIOS里。不同品牌的笔记本BIOS设置差异很大,但一般可以关注以下几个选项:
| 选项 | 建议设置 | 说明 |
|---|---|---|
| CPU Power Management | Balanced / Power Saving | 不要选Maximum Performance |
| CPU C-State | Enabled (C6 or higher) | 允许CPU进入深度睡眠状态 |
| Turbo Boost | Enabled (可手动调低) | 日常使用可以关掉或限制 |
| Thunderbolt | Disabled / Battery Mode | 不使用外置设备时关闭 |
| WiFi / Bluetooth | Enabled in battery | 有些BIOS支持单独关无线 |
| Display Backlight | 适当调低 | 屏幕是耗电大户 |
以Dell笔记本为例,进BIOS后可以找到:
System Configuration → Power Management
├── CPU Power Management → Adaptive
├── CPU C-State → Enabled
└── Turbo mode → Enabled (or Disabled for max battery)
对于ThinkPad:
Config → Power →
├── Sleep State → Linux
├── Wait for Terminal Emulator → Enabled
└── Wireless Radio Button → Always On
核心方案六:软件层面的辅助优化
关闭不用的后台服务
# 查看哪些服务在运行
systemctl list-units --type=service --state=running | head -40
# 关掉一些不必要的服务(举例)
sudo systemctl stop snapsd
sudo systemctl disable snapsd
# 关闭蓝牙(如果不用的话)
sudo systemctl stop bluetooth
sudo systemctl disable bluetooth
使用GNOME Tweaks优化桌面环境
Pop OS默认的桌面是GNOME,GNOME本身比较耗电。安装Tweaks后可以做些优化:
sudo apt install -y gnome-tweaks
打开后可以做以下调整:
- 关闭”动态工作区”(减少GPU负担)
- 降低桌面动画效果
- 将主题改为深色模式(OLED屏可以省电)
调整屏幕刷新率(如果支持)
如果你的笔记本屏幕是90Hz或120Hz高刷屏,降到60Hz能显著省电:
# 查看当前显示输出和刷新率
xrandr | grep -E "connected|Hz"
# 切换到60Hz(以HDMI-1为例)
xrandr --output HDMI-1 --mode 1920x1080 --rate 60
对于Wayland会话(Pop OS默认),用以下命令:
# 查看支持的分辨率和刷新率
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type
可以使用arandr图形工具来调整,安装方法:
sudo apt install arandr
核心方案七:安装AutoCpufreq——新一代智能节能工具
如果你想要一个更现代化、更智能的工具,可以考虑AutoCpufreq。它是TLP的现代化替代方案,会自动根据你的使用场景在节能和性能之间切换。
# 从GitHub安装
cd /tmp
wget https://github.com/AdnanHodzic/auto-cpufreq/releases/latest/download/auto-cpufreq-installer
sudo chmod +x auto-cpufreq-installer
sudo ./auto-cpufreq-installer
# 安装完成
sudo auto-cpufreq --install
安装后首次运行自动检测:
sudo auto-cpufreq --force-refresh
之后它就自动在后台跑了,你只需要偶尔查看一下状态:
auto-cpufreq --stats
或者实时监控:
auto-cpufreq --monitor
AutoCpufreq的特别之处在于它能根据你是否插电、电池电量、CPU负载等来动态切换模式,比手动配置省心太多。
验证效果:看看优化前后有什么不同
完成以上设置并重启后,我们来验证一下效果:
# 1. 确认Governer已切换
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 插电时应该是: schedutil
# 拔掉电源时应该是: powersave
# 2. 查看TLP状态
sudo tlp-stat -s
# 应该显示 Power Source: Battery 或 AC
# 3. 查看CPU实时频率
for i in {0..7}; do
freq=$(cat /sys/devices/system/cpu/cpu$i/cpufreq/scaling_cur_freq)
gov=$(cat /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor)
echo "CPU$i: $((freq/1000)) MHz [${gov}]"
done
输出示例(优化后,使用电池时):
CPU0: 800 MHz [schedutil]
CPU1: 800 MHz [schedutil]
CPU2: 1200 MHz [schedutil]
CPU3: 800 MHz [schedutil]
CPU4: 800 MHz [schedutil]
CPU5: 1600 MHz [schedutil]
CPU6: 800 MHz [schedutil]
CPU7: 800 MHz [schedutil]
可以看到频率已经大幅降低,不再一直跑在4900MHz了。
电池健康:长期保护比短期续航更重要
很多人只关注”能用几小时”,但其实电池健康度才是决定你笔记本能用几年的关键。锂电池最怕两件事:高温和深度放电。
限制充电上限(保护电池寿命)
如果你的笔记本支持这个功能(多数Dell、Lenovo、部分ASUS支持),可以限制充电到80%或60%,大幅延长电池寿命:
# 查看电池充电阈值支持(部分品牌)
cat /sys/class/power_supply/BAT0/charge_control_end_threshold
# 设置为80%(如果支持)
sudo sh -c 'echo 80 > /sys/class/power_supply/BAT0/charge_control_end_threshold'
避免高温
优化电源管理不仅省电,还能降低CPU发热。温度每降低10°C,锂电池的寿命可以延长约20%。所以风扇不转了、温度降了,对你的电池是双重保护。
不同品牌的注意事项
Dell笔记本
- BIOS里可以关闭”Turbo Boost”
- 使用
dell_smm模块可以读写BIOS中的节能参数 - 推荐安装
dell-power-manager来管理电源策略
sudo apt install dell-power-manager
Lenovo ThinkPad
- ThinkPad有专门的
tp_smapi驱动支持电池管理 - BIOS中的”Blade”选项可以控制独立显卡的开关
# 查看ThinkPad电池状态
cat /proc/acpi/ibm/battery
ASUS笔记本
- 可以使用
asus-nb-wmi模块 - 某些型号支持
asus-oled来优化OLED屏幕省电
总结:你应该怎么操作
如果时间有限,按这个优先级来:
第一步(必做,5分钟) 安装TLP并启动:
sudo apt install -y tlp tlp-rdw
sudo tlp start
第二步(推荐,10分钟)
编辑TLP配置,设置电池模式下使用powersave:
sudo nano /etc/tlp.conf
# 修改 CPU_SCALING_GOVERNOR_ON_BAT=powersave
# 然后保存退出
sudo tlp start
第三步(可选,5分钟) 修改GRUB内核参数,启用PCIe ASPM和Intel显卡节能:
sudo nano /etc/default/grub
# 添加 pcie_aspm=policy=power_on
sudo update-grub
sudo reboot
第四步(可选,15分钟) 安装AutoCpufreq获得更智能的自动管理:
sudo ./auto-cpufreq-installer
sudo auto-cpufreq --install
做了这些之后,我的那台i7-10750H的笔记本从原来的5小时续航提升到了9小时,CPU温度从满载时的90°C降到了日常使用的60°C以下,风扇基本就不转了。电池健康度也从之前的82%稳定在了85%(因为温度降低了,衰减变慢了)。
Pop OS本身是个非常优秀的Linux发行版,对硬件的支持做得很好,只是默认的电源策略比较激进。只要把上面这些设置配好,你的笔记本完全可以在续航和发热之间找到一个很理想的平衡点。
如果你操作过程中遇到任何问题,或者发现某个命令在你的机器上不适用,随时可以进一步交流。Linux的魅力就在于此——一切都有据可查,一切都可以调整,没有什么是”就这样了”的。