如何在macOS上测量L1、L2、L3缓存缺失值?
在macOS上测量L1/L2/L3缓存缺失的具体方法
我来帮你理清这个问题——其实macOS的Instruments确实能直接统计各级缓存缺失,只是这些指标没有用直白的“L1缓存缺失”命名,需要对应到Hardware Counters里的具体项。下面是分架构的具体操作和对应指标:
前置操作步骤
首先打开Instruments:
- 启动Instruments,选择「Counters」模板(或者在任意模板中添加「Counters」追踪器)
- 点击工具栏的「Recording Options...」(或者用快捷键
Cmd+R旁边的选项按钮) - 在弹出的窗口中展开「Hardware Counters」列表,你就能看到所有可用的CPU性能计数器
对应各级缓存的缺失指标
L1 缓存缺失(分为数据缓存和指令缓存)
- L1数据缓存缺失:搜索或查找名称包含
L1D_CACHE_MISSES或DATA_CACHE_MISSES:L1的项(Apple Silicon和Intel架构都有类似命名) - L1指令缓存缺失:对应
L1I_CACHE_MISSES或INSTRUCTION_CACHE_MISSES:L1的选项
L2 缓存缺失
- Apple Silicon(M系列芯片):因为M系列的L2是统一缓存(同时存数据和指令),找
L2_CACHE_MISSES或UNIFIED_CACHE_MISSES:L2 - Intel芯片:L2通常是每核心独立的数据缓存,对应
L2_CACHE_MISSES或DATA_CACHE_MISSES:L2
L3 缓存缺失(仅部分型号支持)
- Intel芯片:L3是共享的末级缓存,找
L3_CACHE_MISSES或LAST_LEVEL_CACHE_MISSES - Apple Silicon:只有M2 Pro/Max/Ultra及之后的型号有独立L3,对应
L3_CACHE_MISSES或UNIFIED_CACHE_MISSES:L3(M1/M2基础款没有L3,不用找这个项)
实用小技巧
- 建议同时勾选对应缓存的「命中」和「缺失」项,计算缓存缺失率(缺失数 ÷ (命中数+缺失数)),这个数值比单纯的缺失数更能反映缓存的利用效率
- 如果找不到对应名称,直接在Hardware Counters的搜索框输入「miss」或「cache」,就能快速过滤出所有缓存相关的计数器
- 不同CPU型号的计数器命名可能略有差异,比如部分老Intel芯片会用更简洁的命名,多试几个相似的选项就能找到正确的
内容的提问来源于stack exchange,提问作者senseiwa
相关产品推荐
相关产品推荐

