微知-ib_write_bw的各种参数汇总(-d -q -s -R --run_infinitely)

背景

经常忘记使用ib_write_bw打流的一些参数,特此整理记录在这里方便快速查阅。尤其是run_infinitely这个参数容易写错。

最简洁

ib_write_bw -d mlx5_0 # server
ib_write_bw -d mlx5_0 1.1.1.1 # client

常用参数

非常常用

  • -d mlx5_0, --ib-dev= 指定ib设备,比如: -d mlx5_0表示用mlx5_0设备
  • -q 8 指定qp数量,比如8个qp, --qp=<num of qp’s> Num of qp’s(default 1)。服务器和client都需要指定
  • -R 使用rdma_cm建链, --rdma_cm 。服务器和client都需要指定
  • --run_infinitely 一直持续的运行,每间隔-D的参数秒打印
  • -s 1024指定size大小, --size=

一般常用

  • -D 10, --duration 指定打流时间 比如-D 10 指定10秒
  • -a 默认只会用65535的msgsize,这里会使用从2到2^23(8M)大小的size, --all
  • -c RC指定类型,默认RC。, --connection=<RC/XRC/UC/DC>
  • -i 1 指定IB的port。, --ib-port= Use port of IB device (default 1)
  • -m 4096 指定mtu, --mtu= MTU size : 256 - 4096 (default port mtu)
  • -p 18516 Listen on/connect to port (default 18515) 指定建链监听端口, --port=
  • -u 14 指定qp超时时间,默认, --qp-timeout= QP timeout, timeout value is 4 usec * 2 ^(timeout), default 14 ,约等于 65ms
  • --report_gbits使用Gbps的方式报告
  • --rate_limit=<rate> 设置最大限速Set the maximum rate of sent packages. default unit is [Gbps]. use --rate_units to change that.

其他 全量help信息

root@localhost:~# ib_write_bw --help
Usage:
  ib_write_bw            start a server and wait for connection
  ib_write_bw <host>     connect to server at <host>

Options:
  -a, --all  Run sizes from 2 till 2^23
  -b, --bidirectional  Measure bidirectional bandwidth (default unidirectional)
  -c, --connection=<RC/XRC/UC/DC>  Connection type RC/XRC/UC/DC (default RC)
      --log_dci_streams=<log_num_dci_stream_channels> (default 0)  Run DC initiator as DCS instead of DCI with <log_num dci_stream_channels>
      --log_active_dci_streams=<log_num_active_dci_stream_channels> (default log_num_dci_stream_channels)
          --aes_xts Runs traffic with AES_XTS feature (encryption)
          --encrypt_on_tx Runs traffic with encryption on tx (default decryption on tx)
          --sig_before Puts signature on data before encrypting it (default after)
      --aes_block_size=<512,520,4048,4096,4160> (default 512)
          --data_enc_keys_number=<number of data encryption keys> (default 1)
          --kek_path path to the key encryption key file
          --credentials_path path to the credentials file
          --data_enc_key_app_path path to the data encryption key app
  -d, --ib-dev=<dev>  Use IB device <dev> (default first device found)
  -D, --duration  Run test for a customized period of seconds.
  -f, --margin  measure results within margins. (default=2sec)
  -F, --CPU-freq  Do not show a warning even if cpufreq_ondemand module is loaded, and cpu-freq is not on max.
  -h, --help  Show this help screen.
  -i, --ib-port=<port>  Use port <port> of IB device (default 1)
  -I, --inline_size=<size>  Max size of message to be sent in inline
  -l, --post_list=<list size>
 Post list of send WQEs of <list size> size (instead of single post)
      --recv_post_list=<list size> Post list of receive WQEs of <list size> size (instead of single post)
  -L, --hop_limit=<hop_limit>  Set hop limit value (ttl for IPv4 RawEth QP). Values 0-255 (default 64)
  -m, --mtu=<mtu>  MTU size : 256 - 4096 (default port mtu)
  -n, --iters=<iters>  Number of exchanges (at least 5, default 5000)
  -N, --noPeak Cancel peak-bw calculation (default with peak up to iters=20000)
  -O, --dualport  Run test in dual-port mode.
  -p, --port=<port>  Listen on/connect to port <port> (default 18515)
  -q, --qp=<num of qp's>  Num of qp's(default 1)
  -Q, --cq-mod  Generate Cqe only after <--cq-mod> completion
  -R, --rdma_cm  Connect QPs with rdma_cm and run test on those QPs
  -s, --size=<size>  Size of message to exchange (default 65536)
  -S, --sl=<sl>  SL (default 0)
  -t, --tx-depth=<dep>  Size of tx queue (default 128)
  -T, --tos=<tos value>  Set <tos_value> to RDMA-CM QPs. available only with -R flag. values 0-256 (default off)
  -u, --qp-timeout=<timeout>  QP timeout, timeout value is 4 usec * 2 ^(timeout), default 14
  -V, --version  Display version number
  -w, --limit_bw=<value>  Set verifier limit for bandwidth
  -W, --report-counters=<list of counter names>  Report performance counter change (example: "counters/port_xmit_data,hw_counters/out_of_buffer")
  -x, --gid-index=<index>  Test uses GID with GID index
  -y, --limit_msgrate=<value>  Set verifier limit for Msg Rate
  -z, --comm_rdma_cm  Communicate with rdma_cm module to exchange data - use regular QPs

      --out_json  Save the report in a json file
      --out_json_file=<file>  Name of the report json file. (Default: perftest_out.json in the working directory) 
      --cpu_util  Show CPU Utilization in report, valid only in Duration mode 
      --dlid  Set a Destination LID instead of getting it from the other side.
      --dont_xchg_versions  Do not exchange versions and MTU with other side 
      --force-link=<value>  Force the link(s) to a specific type: IB or Ethernet.
      --ipv6  Use IPv6 GID. Default is IPv4
      --ipv6-addr=<IPv6>  Use IPv6 address for parameters negotiation. Default is IPv4
      --bind_source_ip  Source IP of the interface used for connection establishment. By default taken from routing table.
      --mmap=file  Use an mmap'd file as the buffer for testing P2P transfers.
      --mmap-offset=<offset>  Use an mmap'd file as the buffer for testing P2P transfers.
      --mr_per_qp  Create memory region for each qp.
      --odp  Use On Demand Paging instead of Memory Registration.
      --output=<units> Set verbosity output level: bandwidth , message_rate, latency 
      --payload_file_path=<payload_txt_file_path> Set the payload by passing a txt file containing a pattern in the next form(little endian): '0xaaaaaaaa, 0xbbbbbbbb, ...' .
 Latency measurement is Average calculation 
      --use_old_post_send Use old post send flow (ibv_post_send).
      --perform_warm_up Perform some iterations before start measuring in order to warming-up memory cache, valid in Atomic, Read and Write BW tests
      --pkey_index=<pkey index> PKey index to use for QP
      --report-both  Report RX & TX results separately on Bidirectional BW tests
      --report_gbits  Report Max/Average BW of test in Gbit/sec (instead of MiB/sec)
        Note: MiB=2^20 byte, while Gb=10^9 bits. Use these formulas for conversion:
        Factor=10^9/(2^20*8)=119.2; MiB=Gb_result * factor; Gb=MiB_result / factor
      --report-per-port  Report BW data on both ports when running Dualport and Duration mode
      --reversed  Reverse traffic direction - Server send to client
      --run_infinitely  Run test forever, print results every <duration> seconds
      --retry_count=<value>  Set retry count value in rdma_cm mode
      --tclass=<value>  Set the Traffic Class in GRH (if GRH is in use)
      --flow_label=<value>  Set the flow_label in GRH (if GRH is in use)
      --use_hugepages  Use Hugepages instead of contig, memalign allocations.
      --use-null-mr  Allocate a null memory region for the client with ibv_alloc_null_mr.
      --wait_destroy=<seconds>  Wait <seconds> before destroying allocated resources (QP/CQ/PD/MR..)
      --disable_pcie_relaxed Disable PCIe relaxed ordering

 Rate Limiter:
      --burst_size=<size> Set the amount of messages to send in a burst when using rate limiter
      --typical_pkt_size=<bytes> Set the size of packet to send in a burst. Only supports PP rate limiter
      --rate_limit=<rate> Set the maximum rate of sent packages. default unit is [Gbps]. use --rate_units to change that.
      --rate_units=<units> [Mgp] Set the units for rate limit to MiBps (M), Gbps (g) or pps (p). default is Gbps (g).
        Note (1): pps not supported with HW limit.
        Note (2): When using PP rate_units is forced to Kbps.
      --rate_limit_type=<type> [HW/SW/PP] Limit the QP's by HW, PP or by SW. Disabled by default. When rate_limit is not specified HW limit is Default.
        Note: in Latency under load test SW rate limit is forced
      --write_with_imm  use write-with-immediate verb instead of write

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/921287.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

理论结合实践:用Umami构建网站分析系统

个人博客地址&#xff08;欢迎大家访问&#xff09;&#xff1a;理论结合实践&#xff1a;用Umami构建网站分析系统 1. 引言 网站统计分析是一种通过收集、处理和分析网站数据来评估网站性能、用户行为和流量来源的综合方法。通过分析用户访问模式、页面浏览量、访问时长、用户…

【AI最前线】DP双像素sensor相关的AI算法全集:深度估计、图像去模糊去雨去雾恢复、图像重建、自动对焦

Dual Pixel 简介 双像素是成像系统的感光元器件中单帧同时生成的图像&#xff1a;通过双像素可以实现&#xff1a;深度估计、图像去模糊去雨去雾恢复、图像重建 成像原理来源如上&#xff0c;也有遮罩等方式的pd生成&#xff0c;如图双像素视图可以看到光圈的不同一半&#x…

sysbench压测DM的高可用切换测试

一、配置集群 1. 配置svc.conf [rootlocalhost dm]# cat /etc/dm_svc.conf TIME_ZONE(480) LANGUAGE(CN)DM(192.168.112.139:5236,192.168.112.140:5236) [DM] LOGIN_MODE(1) SWITCH_TIME(300) SWITCH_INTERVAL(200)二、编译sysbench 2.1 配置环境变量 [dmdba~]# vi ~/.bas…

高性能linux服务器运维实战小结 性能调优工具

性能指标 进程指标 进程关系 父进程创子进程时&#xff0c;调fork系统调用。调用时&#xff0c;父给子获取一个进程描述符&#xff0c;并设置新的pid&#xff0c;同事复制父进程的进程描述符给子进程&#xff0c;此时不会复制父进程地址空间&#xff0c;而是父子用相同地址空…

pcb元器件选型与焊接测试时的一些个人经验

元件选型 在嘉立创生成bom表&#xff0c;对照bom表买 1、买电容时有50V或者100V是它的耐压值&#xff0c;注意耐压值 2、在买1117等降压芯片时注意它降压后的固定输出&#xff0c;有那种可调降压比如如下&#xff0c;别买错了 贴片元件焊接 我建议先薄薄的在引脚上涂上锡膏…

【zookeeper03】消息队列与微服务之zookeeper集群部署

ZooKeeper 集群部署 1.ZooKeeper 集群介绍 ZooKeeper集群用于解决单点和单机性能及数据高可用等问题。 集群结构 Zookeeper集群基于Master/Slave的模型 处于主要地位负责处理写操作)的主机称为Leader节点&#xff0c;处于次要地位主要负责处理读操作的主机称为 follower 节点…

C 语言复习总结记录三

C 语言复习总结记录三 一 函数的定义 维基百科中对函数的定义&#xff1a;子程序 在计算机科学中&#xff0c;子程序&#xff08;英语&#xff1a;Subroutine, procedure, function, routine, method, subprogram, callable unit&#xff09;&#xff0c;是一个大型程序中的…

MYSQL——多表设计以及数据库中三种关系模型

大致介绍数据库中三种关系模型 一对多&#xff08;1:N&#xff09; 定义&#xff1a; 一个实体可以与另一个实体的多个实例相关联&#xff0c;而后者只能与前者的一个实例相关联。 例子&#xff1a; 学生和课程的关系。 学生&#xff08;1&#xff09;&#xff1a;每个学生…

OpenCV和Qt坐标系不一致问题

“ OpenCV和QT坐标系导致绘图精度下降问题。” OpenCV和Qt常用的坐标系都是笛卡尔坐标系&#xff0c;但是细微处有些不同。 01 — OpenCV坐标系 OpenCV是图像处理库&#xff0c;是以图像像素为一个坐标位置&#xff0c;即一个像素对应一个坐标&#xff0c;所以其坐标系也叫图像…

实验四:构建园区网(OSPF 动态路由)

目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验步骤 1、在 eNSP 中部署网络 2、设计全网 IP 地址 3、配置二层交换机 4、配置路由交换机并测试通信 5、配置路由接口地址 6、配置 OSPF 动态路由&#xff0c;实现全网互通 一、实验简介 使用路由…

《剖析 Spring 原理:深入源码的旅程(二)》

六、Spring 的 Bean 注入与装配 Spring 的 Bean 注入与装配的方式有很多种&#xff0c;可以通过 xml、get set 方式、构造函数或者注解等。简单易用的方式就是使用 Spring 的注解&#xff0c;Spring 提供了大量的注解方式&#xff0c;如 Autowired、Qualifier 等。Spring 还支持…

Java文件上传解压

目录结构 工具类 枚举 定义文件类型 public enum FileType {// 未知UNKNOWN,// 压缩文件ZIP, RAR, _7Z, TAR, GZ, TAR_GZ, BZ2, TAR_BZ2,// 位图文件BMP, PNG, JPG, JPEG,// 矢量图文件SVG,// 影音文件AVI, MP4, MP3, AAR, OGG, WAV, WAVE}为了避免文件被修改后缀&#xff0…

CSRF保护--laravel进阶篇

laravel对csrf非常重视&#xff0c;专门针对csrf作出了很多的保护。如果您是刚刚接触laravel的路由不久&#xff0c;那么您可能对于web.php路由文件的post请求很疑惑&#xff0c;因为get请求很顺利&#xff0c;而post请求则可能会遭遇失败。其中一个失败的原因是由于laravel的c…

jupyter notebook的 markdown相关技巧

目录 1 先选择为markdown类型 2 开关技巧 2.1 运行markdown 2.2 退出markdown显示效果 2.3 注意点&#xff1a;一定要 先选择为markdown类型 3 一些设置技巧 3.1 数学公式 3.2 制表 3.3 目录和列表 3.4 设置各种字体效果&#xff1a;加粗&#xff0c;斜体&#x…

【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本

GRAPH ATTENTION NETWORKS 代码详解 前言0.引言1. 环境配置2. 代码的运行2.1 报错处理2.2 运行结果展示 3.总结 前言 在前文中&#xff0c;我们已经深入探讨了图卷积神经网络和图注意力网络的理论基础。还没看的同学点这里补习下。接下来&#xff0c;将开启一个新的阶段&#…

redis工程实战介绍(含面试题)

文章目录 redis单线程VS多线程面试题**redis是多线程还是单线程,为什么是单线程****聊聊redis的多线程特性和IO多路复用****io多路复用模型****redis如此快的原因** BigKey大批量插入数据测试数据key面试题海量数据里查询某一固定前缀的key如果生产上限值keys * &#xff0c;fl…

神经网络问题之二:梯度爆炸(Gradient Explosion)

梯度爆炸&#xff08;Gradient Explosion&#xff09;是神经网络训练过程中常见的一个问题&#xff0c;它指的是在反向传播过程中&#xff0c;梯度值变得非常大&#xff0c;超出了网络的处理范围&#xff0c;从而导致权重更新变得不稳定甚至不收敛的现象。 一、产生原因 梯度爆…

小杨的N字矩阵c++

题目描述 小杨想要构造一个m*m 的 N 字矩阵&#xff08; m为奇数&#xff09;&#xff0c;这个矩阵的从左上角到右下角的对角线、第1 列和第m 列都 是半角加号 &#xff0c;其余都是半角减号 - 。例如&#xff0c;一个 5*5 的 N 字矩阵如下&#xff1a; --- -- -- -- --- 请…

2024 年企业中的生成式 AI 现状

2024: The State of Generative AI in the Enterprise - Menlo Ventures 企业 AI 格局正在被实时改写。随着试点&#xff08;Pilot&#xff09;让位于生产&#xff08;Production&#xff09;&#xff0c;我们对 600 名美国企业 IT 决策者进行了调查&#xff0c;以揭示新出现的…

Ubuntu24虚拟机-gnome-boxes

推荐使用gnome-boxes&#xff0c; virtualbox构建失败&#xff0c;multipass需要开启防火墙 sudo apt install gnome-boxes创建完毕&#xff5e;