的pcie带宽_pcm-pcie 解析

pcm-pcie 是一个用于监控 Intel 处理器 PCIe 带宽的工具。它通过 Performance Counter Monitor (PCM) 读取性能监视单元(PMU)数据。pcm-pcie.x 运行时需要 root 权限,可以输出 PCIe 读写带宽等指标。在 Cascade Lake 平台上,初始化涉及 LegacyPlatform 的初始化,监控过程包括指标循环和事件编程。通过对不同监控事件指定和指标监控,pcm-pcie 能够提供详细的 PCIe 性能数据。
摘要由CSDN通过智能技术生成

pcm-pcie 解析

简介

pcm 全称为 Performance Counter Monitor,该项目是针对 intel 平台处理器的资源利用率进行监控的工具。在现代 Intel 处理器已经提供了监视处理器内部性能事件的功能,pcm 通过读取性能监视单元(PMU),从而获得的动态数据。

pcm-pcie.x 运行

pcm-pcie.x 为 pcm 软件中监控 pcie 带宽工具。软件运行时需要 root 权限,在当前平台(Cascade Lake)可以输出包括如下指标内容。

8242059c585ab151ae84f45b3852b47d.png

除此之外,pcm-pcie.x 还支持使用参数 -B 输出 PCIe 总读写带宽

$ ./pcm-pcie.x -B
...
Detected Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz "Intel(r) microarchitecture codename Cascade Lake-SP" stepping 6 microcode level 0x4000017
Skt |  PCIRdCur  |  RFO  |  CRd  |  DRd  |  ItoM  |  PRd  |  WiL  |  PCIe Rd (B)  |  PCIe Wr (B)
 0       18 K     2478       0       0     826     2688    1092        1313 K           211 K
 1        0          0       0       0       0     2282     560           0               0
--------------------------------------------------------------------------------------------------
 *       18 K     2478       0       0     826     4970    1652        1313 K           211 K

pcm-pcie 代码

下面将对 Cascade Lake 平台上 pcm-pcie.x 运行过程进行介绍。

初始化

在 purley 平台,通过以下代码生成对应平台 platform 指针

unique_ptr<IPlatform> platform(IPlatform::getPlatform(
      m, csv, print_bandwidth, print_additional_info,
      (uint)delay));  // FIXME: do we support only integer delay?

这句话声明了一个 unique_ptr<IPlatform> 类型指针,初始化使用 IPlatform 的静态函数 IPlatform::getPlatform 执行。在 purley 平台,IPlatform::getPlatform 会返回 PurleyPlatform

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值