Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何获取Infiniband接收/发送信息_Linux_Infiniband - Fatal编程技术网

Linux 如何获取Infiniband接收/发送信息

Linux 如何获取Infiniband接收/发送信息,linux,infiniband,Linux,Infiniband,是否有收集和显示infiniband RX/TX信息的工具?您可以查询infiniband性能计数器以获取此类信息。有了Openfabric的infiniband diags包,perfquery工具应该足以满足您的需要。下面是一个简单的例子: > /usr/sbin/perfquery # Port counters: Lid 22 port 1 (CapMask: 0x200) PortSelect:......................1 CounterSelect:.....

是否有收集和显示infiniband RX/TX信息的工具?

您可以查询infiniband性能计数器以获取此类信息。有了Openfabric的infiniband diags包,perfquery工具应该足以满足您的需要。下面是一个简单的例子:

> /usr/sbin/perfquery
# Port counters: Lid 22 port 1 (CapMask: 0x200)
PortSelect:......................1
CounterSelect:...................0x0000
SymbolErrorCounter:..............0
LinkErrorRecoveryCounter:........0
LinkDownedCounter:...............0
PortRcvErrors:...................0
PortRcvRemotePhysicalErrors:.....0
PortRcvSwitchRelayErrors:........0
PortXmitDiscards:................0
PortXmitConstraintErrors:........0
PortRcvConstraintErrors:.........0
CounterSelect2:..................0x00
LocalLinkIntegrityErrors:........0
ExcessiveBufferOverrunErrors:....0
VL15Dropped:.....................0
PortXmitData:....................237939
PortRcvData:.....................128199
PortXmitPkts:....................4165
PortRcvPkts:.....................4164

我认为最后4个字段是您感兴趣的数据。有关各种其他选项的详细信息,请参阅手册页。

perfquery的问题在于计数器的最高值为4294967295,这取决于您的应用程序,不需要那么长时间即可到达。您可以使用ibclearcounters将其重置为零,但这会清除整个网络的计数器。如果您正在进行IPoIB,您可以使用其他系统计费工具(sysstat)获取该信息,但您可能会错过其他流量,这就是我在这里寻找解决方案的原因。在最后一条评论之后,我对perfquery进行了更深入的研究,发现“perfquery-x”将报告64位值,因此它比我以前认为的有用得多。infiniband diags包中也有ibqueryErrors,它可以从整个网络收集计数器。此外,您还可以使用ibdiagnet,它也是OFED的一部分。