lscpu命令查看基础功耗信息lscpu命令可显示CPU架构及功耗管理相关的配置信息,通过过滤“Power”关键词快速获取关键参数:
lscpu | grep "Power"
输出示例:
Power Management: ts ttp tm hwp
各参数含义:
/sys文件系统中的实时功耗数据/sys目录下的文件存储了CPU功耗的实时信息,可通过以下路径查看:
for cpu in /sys/devices/system/cpu/cpu[0-9]*; do
echo -n "${cpu##*/}: "; cat "$cpu/cpufreq/scaling_max_freq"
done
输出结果为每个核心的最大频率(单位:kHz),频率越高,功耗通常越大。for cpu in /sys/devices/system/cpu/cpu[0-9]*; do
echo -n "${cpu##*/}: "; cat "$cpu/cpufreq/scaling_cur_freq"
done
将输出的kHz值除以1000,得到当前核心的实时频率(MHz)。cat /sys/devices/system/cpu/intel_pstate/max_freq
该值为Intel P-State驱动允许的最大频率,直接关联功耗。powertop工具监控实时功耗powertop是一款专业的功耗分析工具,可实时显示CPU、内存、硬盘等硬件的功耗消耗,并提供优化建议。
sudo apt-get install powertop
sudo powertop
界面左侧会显示“Overview”(概览),其中“CPU usage”(CPU使用率)和“Power estimation”(功耗估算)部分可直接查看CPU的实时功耗(单位:瓦特,W)及功耗分布。cpufrequtils查看频率与功耗策略cpufrequtils工具集可管理CPU频率,通过查看频率政策间接了解功耗限制。
sudo apt-get install cpufrequtils
cpufreq-info
输出中的“current policy”部分会显示当前CPU的最小频率(min)、最大频率(max)及正在使用的频率(governor,如“ondemand”“powersave”),其中“powersave”模式会优先降低功耗,“performance”模式则优先提升性能。energy_perf_bias内核参数(调整性能与功耗平衡)energy_perf_bias参数用于控制CPU性能与功耗的权衡,值越低越侧重功耗,越高越侧重性能。
cat /sys/devices/system/cpu/cpu*/power/energy_perf_bias
输出范围为0~15,0表示“最高性能”,15表示“最低功耗”。echo 10 | sudo tee /sys/devices/system/cpu/cpu*/power/energy_perf_bias
该命令将所有核心的energy_perf_bias设置为10(平衡模式)。以上方法覆盖了从基础信息查看、实时监控到参数调整的全流程,可根据需求选择合适的方式查看Ubuntu系统中CPU的功耗情况。