ubuntu 22.04+ 默认使用 powerprofilesctl 管理电源模式,支持 power-saver、balanced、performance 三种模式,直接对接 systemd 的 powerprofile d-bus 接口,无需额外安装,且优先于 cpupower 等旧工具。

powerprofilesctl 是当前 Ubuntu 主流桌面的唯一推荐方式
Ubuntu 22.04+(包括 24.04)默认使用 powerprofilesctl 管理 CPU 调度策略和功耗行为,它直接对接 systemd 的 PowerProfile D-Bus 接口,不依赖第三方工具或内核参数硬改。如果你用的是 GNOME、KDE 或 Ubuntu Desktop,默认就装好了,无需额外安装。
常见错误是试图用 cpupower 或手动写 /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor —— 这些会被 powerprofilesctl 覆盖,且可能引发调度冲突。
-
powerprofilesctl list查看当前可用模式(通常是power-saver、balanced、performance) -
powerprofilesctl set performance切换到高性能模式(CPU 空闲时仍维持最高主频,禁用动态降频) -
powerprofilesctl get确认当前生效模式
为什么 performance 模式有时没效果?检查硬件支持与驱动状态
不是所有 CPU 都原生支持 performance 模式下的全频运行。尤其在老旧笔记本、ARM 设备(如 Jetson)或虚拟机中,实际表现取决于:
- ACPI P-state 支持是否完整:运行
dmesg | grep -i acpi.*pstate,若无输出或报错,说明 BIOS/UEFI 未暴露调节能力 - 内核是否加载了正确的调频驱动:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver应为acpi-cpufreq或intel_cpufreq(x86);ARM 上可能是arm_big_little或scmi-cpufreq - 是否存在 thermal throttling:用
sensors或sudo turbostat --debug观察是否频繁触发温度限频
VirtualBox 中的 Ubuntu 虚拟机默认不暴露 P-state 接口,powerprofilesctl 会 fallback 到空操作 —— 此时只能靠宿主机控制资源分配,而非 guest 系统自行调频。
Jetson Nano / Orin 等嵌入式平台要用 nvpmodel
Jetson 系列不走标准 Linux powerprofile 机制,而是通过 NVIDIA 自研的 nvpmodel 控制功耗档位。它的设置直接影响 GPU/CPU 协同频率上限,和 powerprofilesctl 完全无关。
PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。
-
sudo nvpmodel -q查看当前模式 ID 和对应功耗限制(如 Mode 0=5W,Mode 2=10W) -
sudo nvpmodel -m 2切换到高功率模式(需确保散热达标,否则会自动降频) -
sudo jetson_clocks强制锁定所有核心到最大频率(仅用于测试,长期运行不建议)
注意:nvpmodel 修改的是硬件级功耗墙,而 powerprofilesctl 只影响软件调度策略 —— 两者层级不同,不能混用或互相替代。
tlp 和 slick-battery-optimizer 已基本过时
tlp 在 Ubuntu 22.04+ 中默认被禁用(systemd 会屏蔽其服务),因为 powerprofilesctl + thermald 已覆盖其主要功能。强行启用 tlp 可能导致冲突,例如:
-
tlp自行修改scaling_governor,但powerprofilesctl会在下次模式切换时重置它 -
slimbook-battery-optimizer或slick-battery-optimizer的 CLI 接口实际只是包装了powerprofilesctl,无额外能力 - 它们对现代 Intel EPP(Energy Performance Preference)或 AMD CPPC 参数无感知,无法真正精细调控
真正需要深度调优(比如服务器场景或散热受限设备),得直接改 /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference,但这属于进阶操作,普通用户没必要碰。
最易被忽略的一点:电源模式切换后,CPU 频率不会立刻跳到峰值 —— 它仍要等负载触发 boost。用 stress-ng --cpu 4 --timeout 30s 测试比空跑 watch -n1 'cat /proc/cpuinfo | grep \"MHz\"' 更可靠。










