温馨提示×

CPUInfo中的频率信息如何查看

小樊
40
2025-12-17 01:14:38
栏目: 编程语言

Linux 查看 CPUInfo 频率信息

  • 查看每个逻辑 CPU 的即时频率:运行 cat /proc/cpuinfo | grep "cpu MHz",关注字段 cpu MHz(单位:MHz)。如需持续刷新,可用 watch -n 1 grep "cpu MHz" /proc/cpuinfo。示例输出片段:cpu MHz : 2394.374。该值来自内核采样,能直观看到当前运行频率。另可配合 lscpu 获取整体频率概览(字段 CPU MHz)。提示:/proc/cpuinfo 中的频率是采样值,可能随负载与省电策略波动。

更精确的实时频率与调频参数

  • 读取内核 cpufreq 接口获取更精确的数据(单位:kHz):
    • 当前频率(硬件寄存器):cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    • 当前频率(策略缓存):cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    • 可调范围:cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freqcpuinfo_max_freq
    • 支持的频率列表:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    • 调频策略与驱动:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorscaling_driver
    • 各频点停留时间统计:cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
  • 常见调频策略(governor)含义:
    • performance:最高性能,固定高频
    • powersave:省电优先,固定低频
    • ondemand:按负载提升/降低频率
    • interactive:响应更快的自适应策略
    • userspace:由用户空间设定频率
  • 使用说明与注意:
    • 上述 sysfs 路径中的 cpu0 可替换为 cpuN 查看其它核心;若文件不存在,表示内核未启用或未加载相应 cpufreq 驱动。
    • 部分系统为省电会频繁变频,若需观察峰值或稳定值,可临时切换为 performance 策略后再读取频率。

Android 设备查看方式

  • 开启 root 后通过 adb shell 读取与 Linux 相同的 sysfs 节点:
    • 当前频率:cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    • 最大/最小频率:cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqcpuinfo_min_freq
    • 可用频率与策略:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequenciesscaling_governor
    • 策略缓存频率:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
  • 也可读取 /proc/cpuinfo 获取型号与基础信息,但实时频率仍以 cpufreq 接口为准。

实用命令速查表

目标 命令示例
查看每个逻辑 CPU 的即时频率 `cat /proc/cpuinfo
持续刷新频率 watch -n 1 grep "cpu MHz" /proc/cpuinfo
查看某核当前频率(硬件) cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
查看某核当前频率(策略缓存) cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
查看可调频率范围 cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_{min,max}_freq
查看可用频率列表 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
查看当前调频策略 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
查看各频点停留时间 cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state

0