AWS环境下x86-64实例perf无法显示PMU性能计数器问题咨询
猜测验证结论
你的猜测方向正确,但核心影响因素不是单纯的物理核心独占,而是AWS仅对无跨租户CPU资源共享、无侧信道攻击风险的实例开放硬件PMU寄存器的透传权限:
- t3.medium属于突发型共享实例,CPU计算资源是多租户动态调度共享的,默认不开放PMU访问
- c3.4xlarge属于老一代Intel实例,架构本身不支持PMU透传特性
- c5a.8xlarge属于AMD平台的中等规格实例,还未达到独占物理CPU插槽的规格阈值,因此默认不开放PMU访问
- m5zn.6xlarge属于高性能计算优化实例,该系列全规格默认开放PMU访问权限,不受规格大小限制
支持PMU性能计数器的AWS实例范围
目前符合要求的实例包含以下几类:
- 所有带
.metal后缀的裸金属实例,无论处理器架构(Intel/AMD/ARM Graviton)均支持 - Intel平台的z1d、m5zn、c5n、c6i、m6i、r6i全系列实例,全规格支持
- ARM Graviton2/3平台的c6g、m6g、r6g、c7g、m7g、r7g全系列实例,全规格支持
- 非上述系列的计算优化、内存优化实例,仅达到对应规格阈值的特大号实例支持:
- Intel c5/r5/m5系列:需18xlarge及以上规格
- AMD c5a/r5a/m5a系列:需16xlarge及以上规格
你之前使用的sudo perf stat /bin/sleep 1是最直接的验证方式,输出中PMU相关指标显示<not supported>就代表当前实例的Hypervisor未开放PMU透传权限,和你操作系统侧的权限、内核配置无关,不需要额外调整系统参数。
内容的提问来源于stack exchange,提问作者user8143588
相关产品推荐
相关产品推荐

