EAL参数
更新于 2021-05-07
常规参数
逻辑核
-c <core mask>设置使用的核对应得16进制掩码.-l <core list>列出将要使用的核,参数格式<c1>[-c2][,c3[-c4],...],其中c1,c2表示核索引(0-128)--lcores <core map>关联逻辑核集合到物理核集合,参数格式<lcores[@cpus]>[<,lcores[@cpus]>...]()表示一组逻辑核;-表示逻辑核范围;,分隔单个逻辑核
注意
--lcores, -l or -c只能用其中的一个.
--main-lcore <core ID>主核是使用的逻辑核ID-s <service core mask>作为从核的16进制掩码
设备
-b, --block <[domain:]bus:devid.func>不适用某个PCI设备,可以添加多个-b.-a, --allow <[domain:]bus:devid.func>增加探测设备.
注意:-b和-a不能同时使用--vdev <device arguments>增加虚拟设备,格式:<driver><id>[,key=val, ...]
例如:
--vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'-d <path to shared object or directory>加载额外的驱动库,可以是单个文件或目录。可以添加多个-b--no-pci禁用PCI总线
多进程
--proc-type <primary|secondary|auto>设置当前进程类型--base-virtaddr <address>设置DPDK第一个dpdk进程的内存映射地址.避免多个DPDK进程使用的相同的内存映射地址而导致冲突
内存
-n <number of channels>内存通道数-r <number of ranks>设置内存rank数(默认自动检测)-m <megabytes>启动时预分配内存总数--in-memoryDo not create any shared data structures and run entirely in memory. Implies--no-shconfand (if applicable)--huge-unlink.--iova-mode <pa|va>指定IOVA模式
调试
--no-shconf不创建共享文件(不支持多个DPDK进程)--no-huge用匿名内存替代大页内存(不支持多个DPDK进程)--log-level <type:val>指定模块等级
#例如:
--log-level lib.eal:debug--trace=<regex-match>基于正则表达式的追踪.默认不启用.需要指定特定追踪模块以启用跟踪功能.
#只跟踪EAL模块
--trace=eal
#跟踪所有模块
--trace=.*--trace-dir=<directory path>指定日志文件路径,默认路径会/home下
#例如,放到/tmp
--trace-dir=/tmp--trace-bufsz=<val>指定每个线程跟踪输出时可用的最大内存.有效单位:BorKorMforBytes,KBytesandMBytes.默认大小是1MB
--trace-bufsz=2M--trace-mode=<o[verwrite] | d[iscard] >指定日志超出指定最大值后处理方式,覆盖或丢弃.默认是覆盖
--trace-mode=d or --trace-mode=discard其他
-h,--help列出所有eal参数-v启动时显示版本信息mbuf-pool-ops-name: mbuf池的可选名字--telemetry遥测功能,默认启动--no-telemetry禁用遥测功能--force-max-simd-bitwidth=<val>: 指定SIMD bit位大小.
--force-max-simd-bitwidth=512
#限制SIMD的位宽到64位以禁止所有向量码:
--force-max-simd-bitwidth=64
#禁用SIMD位宽限制
To disable use of max SIMD bitwidth limit:
--force-max-simd-bitwidth=0Linux特殊参数
设备
--create-uio-dev为绑定到igb_uio的设备创建/dev/uioX文件.(默认igb_uio驱动会自动创建)--vmware-tsc-map使用VMware TSC map替代RDTSC--no-hpet不使用HPET定时器--vfio-intr <legacy|msi|msix>制定绑定到内核VFIO驱动的中断模式--vfio-vf-token <uuid>指定绑定到VFIO驱动的VF设备标识
多进程
--file-prefix <prefix name>对于一个DPDK进程,使用不同的共享文件前缀.
内存
--legacy-mem使用legacy内存分配模式--socket-mem <amounts of memory per socket>设置每个socket预分配内存大小
#在socket0上分配1G内存,在socket1上分配2G内存
--socket-mem 1024,2048--socket-limit <amounts of memory per socket>设置每个socket内存上限--single-file-segments在hugetlbfs里创建较少的文件(非逻辑模式下使用)--huge-dir <path to hugetlbfs directory>指定大页内存路径--huge-unlink[=existing|always|never]创建大页后不链接(不支持第二个进程)--match-allocations将最初分配的内存归还给系统
其他
--syslog <syslog facility>设置系统日志工具,可用的有:
auth
cron
daemon
ftp
kern
lpr
mail
news
syslog
user
uucp
local0
local1
local2
local3
local4
local5
local6
local7