CoreFreq是一款运行在Linux系统下的开源CPU性能监控工具,它可以直接与CPU的硬件寄存器交互,获取处理器核心的实时运行数据,相比top、htop这类通用系统监控工具,它能提供更细粒度的CPU硬件状态信息。

CoreFreq的核心功能
CoreFreq的主要功能围绕CPU硬件状态采集展开,具体包括以下几个维度:
- 实时显示每个CPU核心的当前运行频率、基准频率、最大加速频率
- 采集CPU核心电压、温度、功耗等硬件参数
- 展示CPU的指令集支持情况、缓存配置、架构信息等静态属性
- 记录CPU频率的动态调整历史,可查看调频策略的实际生效情况
- 支持以图表形式展示参数变化趋势,方便直观观察性能波动
CoreFreq的工作原理
CoreFreq不需要依赖额外的内核模块,它通过直接读取CPU的MSR(模型特定寄存器)和APIC(高级可编程中断控制器)来获取数据,避免了内核版本适配的问题。它的运行不需要修改系统内核,也不需要特殊的内核编译选项,只要系统支持/dev/cpu/*/msr设备节点就可以正常工作。
CoreFreq的安装与使用
安装方式
大部分主流Linux发行版的官方仓库都包含CoreFreq包,可以直接通过包管理器安装:
# Ubuntu/Debian系统安装命令 sudo apt update sudo apt install corefreq # CentOS/RHEL系统安装命令 sudo dnf install corefreq # Arch Linux系统安装命令 sudo pacman -S corefreq
启动与基础使用
安装完成后,需要先加载CoreFreq的内核模块,再启动监控服务:
# 加载内核模块 sudo modprobe corefreqk # 启动监控守护进程 sudo corefreqd # 启动前端监控界面 corefreq-cli
启动corefreq-cli后,会进入交互式监控界面,用户可以通过快捷键切换不同的展示面板,比如按1查看核心频率面板,按2查看温度电压面板,按q退出监控界面。
CoreFreq的适用场景
CoreFreq适合在以下场景中使用:
- 排查CPU性能瓶颈,确认是否存在频率锁定、降频异常等问题
- 测试CPU调频策略的实际效果,验证电源管理配置是否符合预期
- 监控高负载场景下CPU的温度、功耗变化,避免硬件过热损坏
- 对比不同CPU的实际性能表现,获取准确的硬件运行参数
注意事项
使用CoreFreq需要root权限,因为读取MSR寄存器需要较高的系统权限。另外部分较老的非x86架构CPU可能不支持CoreFreq,使用前可以查看官方支持的处理器列表确认兼容性。
如果需要导出监控数据做后续分析,CoreFreq也支持将采集的数据输出为CSV格式,方便导入到表格工具或者数据分析脚本中处理。
# 导出监控数据为CSV文件 corefreq-cli -d -f cpu_data.csv