DPDK官方文档翻译:EAL parameters

https://doc.dpdk.org/guides/linux_gsg/linux_eal_parameters.html

本文档包含所有 EAL 参数的列表。这些参数可以由在 Linux 上运行的任何 DPDK 应用程序使用。

1、常用 EAL 参数

以下 EAL 参数对于 DPDK 支持的所有平台都是通用的。

1、Lcore相关选项

1、-c

设置要在其上运行的内核的十六进制位掩码。

2、-l

要在其上运行的核心列表。参数格式为 [-c2][,c3[-c4],…],其中 c1、c2 等是介于 0 和 128 之间的核心索引。

3、–lcores

将内核集映射到物理 CPU 集。

参数格式为:

<lcores[@cpus]>[<,lcores[@cpus]>...]

核心和 CPU 列表按组内 ( 和 ) 分组。- 字符用作范围分隔符,而 用作单个数字分隔符。对于单个元素组,可以省略分组 ()。如果 cpu 和 lcore 具有相同的值,则可以省略 @。

注意:在给定的实例中,只能使用一个核心选项 --lcores、-l 或 -c。

4、–main-lcore

用作主 ID 的核心 ID。

5、-s

要用作服务核心的内核的十六进制位掩码。

2、设备相关选项

1、-b, --block <[domain:]bus:devid.func>

跳过探测 PCI 设备以防止 EAL 使用它。允许多个 -b 选项。

注意:阻止列表不能与允许列表 -a 选项一起使用。

2、-a, --allow <[domain:]bus:devid.func>

将 PCI 设备添加到要探测的设备列表中。

注意:允许列表不能与阻止列表 -b 选项一起使用。

3、–vdev

使用以下格式添加虚拟设备:

<driver><id>[,key=val, ...]

例如:

--vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'

4、-d

加载外部驱动程序。参数可以是单个共享对象文件,也可以是包含多个驱动程序共享对象的目录。允许多个 -d 选项。

5、–no-pci

禁用 PCI 总线。

3、与多处理相关的选项

1、–proc-type <primary|secondary|auto>

设置当前进程的类型。

2、–base-virtaddr

尝试为主 DPDK 进程的所有内存映射使用不同的起始地址。如果辅助进程由于地址映射中的冲突而无法启动,这会很有帮助。

4、内存相关选项

1、-n

设置要使用的内存通道数。

2、-r

设置内存列数(默认自动检测)。

3、-m

启动时要预分配的内存量。

4、–in-memory

不要创建任何共享数据结构并完全在内存中运行。暗示 --no-shconf 和(如果适用) --huge-unlink。

5、–iova-mode <pa|va>

强制 IOVA 模式为特定值。

6、–huge-worker-stack[=size]

从巨大的页面内存中分配工作线程堆栈内存。堆栈大小默认为系统 pthread 堆栈大小,除非指定了可选大小(以 KB 为单位)。

5、调试选项

1、–no-shconf

未创建共享文件(意味着没有辅助进程支持)。

2、–no-huge

使用匿名内存而不是大页面(意味着没有辅助进程支持)。

3、–log-level type:val

指定特定组件的日志级别。例如:

--log-level lib.eal:debug

可以多次指定。

4、–trace=

根据正则表达式跟踪名称启用跟踪。默认情况下,跟踪处于禁用状态。用户必须指定此选项才能启用跟踪。例如:

仅适用于 EAL 的全局跟踪配置:

--trace=eal

所有组件的全局跟踪配置:

--trace=.*

可以多次指定,最多指定 32 次。

5、–trace-dir=

指定跟踪输出的跟踪目录。例如:

配置 /tmp/ 作为跟踪输出目录:

--trace-dir=/tmp

默认情况下,将在主目录中创建跟踪输出,并且只能指定一次参数。

6、–trace-bufsz=

为每个线程的跟踪输出指定分配内存的最大大小。有效单位可以是 B 或 K 或 M 分别表示字节、KB 和 MBytes。例如:

将 2MB 配置为跟踪输出文件的最大大小:

-trace-bufsz=2M

默认情况下,跟踪输出文件的大小为 1MB,并且只能指定一次参数。

7、–trace-mode=<o[verwrite] | d[iscard] >

指定跟踪输出文件的更新模式。当文件大小达到其最大限制时,可以包装或丢弃文件的更新。例如:

放弃跟踪输出文件的更新:

--trace-mode=d or --trace-mode=discard

默认模式为覆盖,参数只能指定一次。

6、其他选项

1、-h, --help

显示列出所有 EAL 参数的帮助消息。

2、-v

在启动时显示版本信息。

3、–mbuf-pool-ops-name

供 mbuf 使用的池操作名称。

4、–telemetry

启用遥测(默认启用)。

5、–no-telemetry

禁用遥测。

6、–force-max-simd-bitwidth=

指定要处理的最大 SIMD 位宽大小。这限制了采用的矢量路径(如果有),因为采用的任何路径都必须使用低于最大位宽限制的位宽。例如,要允许所有 SIMD 位宽达到 AVX-512(包括 AVX-512):

--force-max-simd-bitwidth=512

以下示例显示如何将位宽限制为 64 位以禁用所有矢量代码:

--force-max-simd-bitwidth=64

要禁用最大 SIMD 位宽限制,请执行以下操作:

--force-max-simd-bitwidth=0

2、特定于 Linux 的 EAL 参数

除了常见的 EAL 参数外,还有特定于 Linux 的 EAL 参数。

1、设备相关选项

1、–create-uio-dev

为绑定到内核驱动程序的设备创建 /dev/uioX 文件igb_uio(通常由igb_uio驱动程序本身完成)。

2、–vmware-tsc-map

使用 VMware TSC 映射而不是本机 RDTSC。

3、–no-hpet

请勿使用 HPET 计时器。

4、–vfio-intr <legacy|msi|msix>

对绑定到 VFIO 内核驱动程序的设备使用指定的中断模式。

5、–vfio-vf-token

对绑定到 VFIO 内核驱动程序的设备使用指定的 VF 令牌。

2、与多处理相关的选项

1、–file-prefix

对 DPDK 进程使用不同的共享数据文件前缀。此选项允许在不同的前缀下运行多个独立的 DPDK 主/辅助进程。

3、内存相关选项

1、–legacy-mem

使用传统的 DPDK 内存分配模式。

2、–socket-mem

为每个socket预分配指定的内存量。该参数是以逗号分隔的值列表。例如:

--socket-mem 1024,2048

这将在socket 0 上分配 1 GB 内存,在socket 1 上分配 2048 MB 内存。

3、–socket-limit

对内存使用设置每个socket的上限(仅限非传统内存模式)。0 将禁用特定套接字的限制。

4、–single-file-segments

在 hugetlbfs 中创建更少的文件(仅限非传统模式)。

5、–huge-dir

使用指定的 hugetlbfs 目录而不是自动检测的目录。这可以是 hugetlbfs 挂载点中的子目录。

6、–huge-unlink[=existing|always|never]

没有 --huge-unlink 选项或 --huge-unlink=existing 是默认值:现有的 hugepage 文件被删除并重新创建,以确保内核清除内存并防止任何数据泄漏。

使用 --huge-unlink(无值)或 --huge-unlink=always,在映射它们之前也会删除 hugepage 文件,以便应用程序不会在 hugetlbfs 中留下任何文件。此模式意味着没有多进程支持。

当指定 --huge-unlink=never 时,现有的 hugepage 文件永远不会被删除,而是重新映射,允许 hugepage 重用。这样可以节省初始化时清除内存的时间,从而加快重新启动速度,但以后可能会减慢清零分配的速度。重复使用的 Hugepages 可能包含以前使用它们的进程的数据,这可能是一个安全问题。在此模式下创建的 Hugepage 文件也不会在释放从它们映射的所有 Hugepages 文件时被删除,这允许在重新启动后重用这些文件。

7、–match-allocations
将巨大的页面完全按照最初分配的方式释放回系统。

4、其他选项

1、–syslog

设置系统日志功能。有效的系统日志工具包括:

auth
cron
daemon
ftp
kern
lpr
mail
news
syslog
user
uucp
local0
local1
local2
local3
local4
local5
local6
local7
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值