rdma网卡linux命令
-
RDMA(Remote Direct Memory Access,远程直接内存访问)是一种高性能、低延迟的网络通信技术,它可以绕过操作系统内核,直接在应用程序和网络适配器之间进行数据传输,从而减少了数据传输的延迟和CPU开销。在RDMA网络中,网卡上的RDMA引擎提供了一组命令行工具,用于配置和管理RDMA网络适配器。在Linux系统中,可以使用以下命令来进行RDMA网卡的管理:
1. ibstatus:该命令用于显示RDMA适配器的状态信息,包括适配器的名称、状态、速率等信息。
示例:
“`shell
$ ibstatus
“`2. ibv_devices:该命令用于列出系统中可用的RDMA适配器,并显示其名称、类型、GUID等信息。
示例:
“`shell
$ ibv_devices
“`3. ibv_devinfo:该命令用于显示指定RDMA适配器的详细信息,包括其Port、LID、PHYS_STATE等信息。
示例:
“`shell
$ ibv_devinfo -d
“`4. iblinkinfo:该命令用于显示RDMA网络中的设备之间的连接信息,包括设备的名称、端口号、状态等信息。
示例:
“`shell
$ iblinkinfo
“`5. ibv_rc_pingpong:该命令用于测试RDMA适配器之间的RDMA通信性能,可以用于检测RDMA适配器的功能是否正常。
示例:
“`shell
$ ibv_rc_pingpong -d-g -p “` 6. ibv_devreset:该命令用于重置指定的RDMA适配器。
7. ibv_devices_reset:该命令用于重置所有可用的RDMA适配器。
除了以上这些命令,还可以使用一些其他的RDMA管理工具,如opensm、ibping等。这些工具提供了更多的功能和配置选项,可以根据实际需求选择适合的工具来进行RDMA网卡的管理。
2年前 -
RDMA(Remote Direct Memory Access)是一种高性能的网络传输技术,可以通过绕过操作系统内核,直接在两个远程计算机之间进行数据传输。如果需要在Linux系统中使用RDMA网卡,可以使用以下命令进行配置和管理:
1. `ibstat`:用于显示网卡和端口的状态信息。此命令将显示关于网卡的名称、状态、端口号、速度和链路层状态等信息。
2. `ibportstate`:用于显示特定端口的状态信息。可以使用此命令检查RDMA网卡的链路状态和支持的传输速度。
3. `ibhosts`:显示与本地主机连接的所有远程主机的信息。该命令将显示每个远程主机的名称、GUID(全局唯一标识符)和端口。
4. `ibstat -p
`:显示指定端口的详细状态信息。可以使用此命令获取有关特定端口的更详细信息,包括链路状态、传输速度和硬件特性等。 5. `ibdiagnet`:此命令用于运行RDMA网络的自诊断测试。可以使用此命令检查RDMA网络的连通性和性能。
以上是一些常用的命令来管理和配置RDMA网卡,这些命令可以帮助用户监视和调整RDMA网络的状态,并进行一些自我诊断测试。在使用这些命令之前,请确保已经安装了RDMA驱动程序和相关的软件包。
2年前 -
RDMA(远程直接内存访问)是一种高性能的网络通信技术,可以直接从主机内存中读取和写入数据,减少了CPU的开销,提升了数据传输的效率。下面介绍一些在Linux系统上使用RDMA网卡的常用命令。
1. 显示和控制RDMA设备
使用`ibv_devices`命令可以显示系统中安装的RDMA设备:
“`
$ ibv_devices
“`
可以看到类似下面的输出:
“`
device node GUID
—— —————-
mlx4_0 0002c90300375487
“`
这里显示了一个RDMA设备mlx4_0和对应的节点GUID。2. 查询RDMA设备的属性
使用`ibv_devinfo`命令可以查询RDMA设备的属性和状态:
“`
$ ibv_devinfo -d <设备名称>
“`
例如:
“`
$ ibv_devinfo -d mlx4_0
“`
可以看到设备的详细信息,包括设备名称、节点GUID、LID、状态、端口等。3. 查询和设置RDMA端口属性
使用`ibportstate`命令可以查询指定RDMA设备端口的状态:
“`
$ ibportstate -d <设备名称> -p <端口号>
“`
例如:
“`
$ ibportstate -d mlx4_0 -p 1
“`
可以看到端口的状态,包括速度、宽度、LID等。使用`ibportstate`命令还可以设置RDMA设备端口的状态:
“`
$ ibportstate -d <设备名称> -p <端口号> -s <状态>
“`
其中,`<状态>`可以是down、init、armed等,用于禁用或启用RDMA端口。4. 创建和删除RDMA设备的关联
使用`ibv_rc_pingpong`命令可以创建两个RDMA设备之间的关联,并测试其通信性能:
“`
$ ibv_rc_pingpong -d <本地设备名称> -g <本地设备的GUID> -g <远程设备的GUID> -p <本地设备的端口号> -P <远程设备的端口号>
“`
例如:
“`
$ ibv_rc_pingpong -d mlx4_0 -g 0002c90300375487 -g 0002c90300375744 -p 1 -P 1
“`
上述命令将本地设备mlx4_0的端口1与远程设备的端口1关联起来,并进行pingpong测试。使用`ibv_rc_pingpong`命令还可以通过`-c`参数指定测试的次数,默认是1000次。
使用`ibv_rc_pingpong`命令可以评估RDMA设备之间的通信性能,包括延迟和带宽。测试结果将显示在命令行中。
5. 配置和管理RDMA网络
使用`ib_addr`命令可以查询和配置RDMA设备的网络地址信息:
“`
$ ib_addr
“`
可以看到类似下面的输出:
“`
ca:mlx4_0
port:1 state:ACTIVE
..:..:..:..:..:.. lid:10 sl:0x1:4
..:..:..:..:..:.. lid:15 sl:0x1:4
ca:mlx4_0
port:2 state:ACTIVE
..:..:..:..:..:.. lid:20 sl:0x1:4
..:..:..:..:..:.. lid:25 sl:0x1:4
“`
这里显示了两个RDMA设备和对应的网络地址信息,包括设备名称、端口号、状态、LID等。使用`ib_addr`命令还可以设置RDMA设备的网络地址信息:
“`
$ ib_addr set -p <端口号> -g<设备名称>
“`
例如:
“`
$ ib_addr set -p 1 -g 00:11:22:33:44:55 mlx4_0
“`
上述命令将RDMA设备mlx4_0的端口1的MAC地址设置为00:11:22:33:44:55。综上所述,这些命令可以在Linux系统上管理和配置RDMA网卡设备,查询设备属性、端口状态和网络地址信息,并通过pingpong测试评估通信性能。
2年前