istat menus是目前唯一能稳定常驻菜单栏、分核标注p-core/e-core实时mhz频率的方案,数据直采powermetrics底层;stats需手动配置shell脚本调用powermetrics实现。

你想在Mac菜单栏里一眼看到P-core和E-core此刻各自跑在多少MHz,而不是靠活动监视器里的百分比估算——这需要绕过系统UI限制,直接读取SMC传感器原始采样值,并稳定投射到菜单栏实时刷新。
用iStat Menus分核显示实时频率
这是目前唯一能稳定、常驻、分核标注P-core/E-core实时频率(单位MHz)的方案,数据直采自powermetrics底层,非插值或估算。
方法一:下载安装iStat Menus
访问官网 istatmenus.com 下载最新版dmg;双击挂载后,将iStat Menus拖入Applications文件夹;首次启动时,系统会弹出辅助功能权限请求,【必须勾选iStat Menus并点击“好”】,否则无法读取SMC传感器数据。
方法二:启用分核频率显示
打开iStat Menus菜单栏图标 → Preferences → Sensors → CPU → 勾选“Show CPU frequency”;再展开下方“Cores”子项,勾选“Show per-core frequency”;关闭窗口后,菜单栏图标右侧即出现类似“P1: 2.4GHz E1: 800MHz”的实时读数。
注意:M系列芯片需已启用开发者模式(仅首次运行powermetrics类工具时触发)。若菜单栏无频率显示,请先手动执行一次终端命令 sudo powermetrics --samplers smc | grep -i "cpu frequency" 并输入密码,完成SMC授权。
用Stats开源工具自定义显示P/E核频率
Stats本身不内置频率读取,但可通过Shell Script插件接入powermetrics输出,适合不想付费、愿意动手配置的用户。它轻量、开源、菜单栏占用小,且支持脚本热重载。
第一步:确保已安装Stats并授予完全磁盘访问权限
第二步:创建频率读取脚本
打开终端,执行:mkdir -p ~/Library/Application\ Scripts/com.stats.statsecho '#!/bin/zsh\nsudo powermetrics --samplers smc 2>/dev/null | grep -m1 "CPU frequency" | awk "{print $3 \" MHz\"}"' > ~/Library/Application\ Scripts/com.stats.stats/cpu_freq.shchmod +x ~/Library/Application\ Scripts/com.stats.stats/cpu_freq.sh
第三步:在Stats中添加Shell Script传感器
点击Stats菜单栏图标 → Preferences → Sensors → + 号 → 选择“Shell Script” → 点击“Browse”,定位到刚建好的cpu_freq.sh文件 → 勾选“Run as root” → 设置刷新间隔为2秒。











