我正在尝试使用英特尔®性能计数器监视器工具测量NIC设备的PCIe带宽。但是,我不能理解它的输出。
为了测量PCIe带宽,我执行了二进制pcm-iio。此二进制文件有助于测量每个PCIe设备的监视器PCIe带宽。执行完二进制文件后,我得到了以下输出。
|IIO Stack 2 - PCIe1 |IB write|IB read|OB read|OB write|TLB Miss|VT-d L3 Miss|VT-d CTXT Miss|VT-d Lookup|
|_____________________________|________|_______|_______|________|________|____________|______________|___________|
| Part0 (1st x16/x8/x4) |4498 M |9003 M | 0 |3256 K | 0 | 0 | 0 | 0 |
| Part1 (2nd x4) | 0 | 0 | 0 | 0 |
| Part2 (2nd x8/3rd x4) | 0 | 0 | 0 | 0 |
| Part3 (4th x4) | 0 | 0 | 0 | 0 |
|_____________________________|________|_______|_______|________|________|____________|______________|___________|
我想了解一下IB读取、IB写入、OB读取和OB写入的含义。
发布于 2019-07-22 01:18:40
DMA 是入站写入的缩写,是PCIe设备(在第一列中指定)请求通过写入主内存的字节数。DMA是PCIe设备请求通过(“直接内存访问”)从主内存读取的字节数。无论是读请求还是写请求,都是设备向套接字(具体地说,是设备连接到的IIO堆栈)发出请求。因此,从套接字的角度来看,它是入站流量。
这些指标是使用DATA_REQ_OF_CPU
uncore事件测量的。具体地说,umask为0x1的事件表示4字节入站写请求,umask为0x4的事件表示4字节入站读请求。
OB write是outbound write的缩写,是处理器套接字通过MMIO(“内存映射I/O")请求写入PCIe设备的字节数。
在旧版本的pcm-iio中,使用了完整的IB和OB形式。
值得注意的是,DATA_REQ_OF_CPU
不测量内存带宽,而是测量连接到每个IIO堆栈的每个设备的I/O带宽。
https://stackoverflow.com/questions/57133871
复制相似问题