性能核心与能效核心
又称:P核与E核、大小核
简要回答
性能核心和能效核心是搭载Apple silicon的Mac上的两种CPU内核。性能核心速度快、功耗高;能效核心速度较慢,功耗只有一小部分,负责后台工作。每项任务在哪种内核上运行,由macOS决定。
每台搭载M系列芯片的Mac都有这两种内核。按Apple自己的数据,在适合它的工作上,能效核心的功耗约为性能核心的十分之一。这就是为什么一台MacBook开着十几个App,功耗也能只有几瓦:检查邮件、同步、索引和菜单栏都在能效核心上运行,而性能核心在闲着。
这对看懂活动监视器很重要。在能效核心上占用100%的进程,用到的Mac资源远少于在性能核心上占用100%的进程,但“% CPU”列不会告诉你是哪一种。这也解释了为什么CPU图表看起来很忙,Mac用起来却很快:忙的是那些小内核。
如何在活动监视器中查看各个内核
选取“窗口”→“CPU历史记录”(或按下⌘3)。每个图表对应一个内核。在Apple silicon上,能效核心排在一起,性能核心排在后面,它们会在不同的时候被占满:后台工作点亮第一组,编译或导出则点亮第二组。
要统计数量,打开“终端”并运行sysctl hw.perflevel0.physicalcpu hw.perflevel1.physicalcpu。level 0是性能核心,level 1是能效核心。“系统信息”→“硬件”只显示总数。
为什么这会改变100%的含义
活动监视器的“% CPU”是一个内核时间的份额,而每个内核都一视同仁,所以一个固定在能效核心上的进程显示100%,实际可能只用了一瓦左右。要看一个进程真正用了Mac多少资源,“对能耗的影响”列更合适,因为它衡量的是消耗的电量,而不是占用的时间。
macOS会随时在两种内核之间调度工作。一个从能效核心起步的App,跟不上时会被提升到性能核心,转入后台时又会被降回去。你无法自己把进程固定在某种内核上,也没必要这么做。
常见问题
我的Mac有多少个性能核心和能效核心?
在“终端”中运行sysctl hw.perflevel0.physicalcpu hw.perflevel1.physicalcpu。第一个数字是性能核心数,第二个是能效核心数。数量因芯片而异,每一代芯片的Pro、Max和Ultra版本都比基础芯片有更多的性能核心。
App在能效核心上占用100% CPU,要紧吗?
远没有这个数字看起来那么要紧。它只用了一个小内核,功耗只有性能核心的一小部分,而且如果它跟不上,macOS会把它移到性能核心上。判断它时,看“对能耗的影响”,而不是“% CPU”。
我能让macOS使用性能核心吗?
不能直接做到。macOS根据每项任务所请求的服务质量来分配内核:你在等待的工作交给性能核心,后台工作交给能效核心。接上充电器也不会改变这一点,而且没有相应的设置。
相关条目
分步指南:哪个App在占用CPU或内存。
想一直盯着这些数值? 请看最好用的Mac系统监控工具,或者最好用的活动监视器替代品。也可以浏览术语表中的所有条目。