首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用testpmd使用所有内存通道

无法使用testpmd使用所有内存通道
EN

Stack Overflow用户
提问于 2018-03-23 22:42:15
回答 1查看 307关注 0票数 1

我正在使用testpmd (DPDK 17.11.1)。我创建了两个端口P0和P1,并将流量从P0发送到P1。我发现它只使用了两个内存通道。以下是启动testpmd的命令:

代码语言:javascript
复制
./testpmd -n4 -l2,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33 -- --rxd=4096 --txd=4096 --numa --rxq=8 --txq=8 --nb-cores=16 --numa --forward-mode=mac -i

下面是pcm工具的结果,它表明4个内存通道中只有2个在使用:

代码语言:javascript
复制
|---------------------------------------||---------------------------------------|
|---------------------------------------||---------------------------------------|
|--             Socket  0             --||--             Socket  1             --|
|---------------------------------------||---------------------------------------|
|--     Memory Channel Monitoring     --||--     Memory Channel Monitoring     --|
|---------------------------------------||---------------------------------------|
|-- Mem Ch  0: Reads (MB/s):     0.06 --||-- Mem Ch  0: Reads (MB/s):     0.01 --|
|--            Writes(MB/s):     0.13 --||--            Writes(MB/s):     0.01 --|
|-- Mem Ch  1: Reads (MB/s):   141.17 --||-- Mem Ch  1: Reads (MB/s):  1642.35 --|
|--            Writes(MB/s):   262.84 --||--            Writes(MB/s): 11842.28 --|
|-- Mem Ch  2: Reads (MB/s):   140.44 --||-- Mem Ch  2: Reads (MB/s):  1639.97 --|
|--            Writes(MB/s):   261.67 --||--            Writes(MB/s): 11850.11 --|
|-- Mem Ch  3: Reads (MB/s):     0.46 --||-- Mem Ch  3: Reads (MB/s):     0.40 --|
|--            Writes(MB/s):     0.55 --||--            Writes(MB/s):     0.40 --|
|-- NODE 0 Mem Read (MB/s) :   282.13 --||-- NODE 1 Mem Read (MB/s) :  3282.72 --|
|-- NODE 0 Mem Write(MB/s) :   525.19 --||-- NODE 1 Mem Write(MB/s) : 23692.79 --|
|-- NODE 0 P. Write (T/s):      15496 --||-- NODE 1 P. Write (T/s):      15947 --|
|-- NODE 0 Memory (MB/s):      807.33 --||-- NODE 1 Memory (MB/s):    26975.52 --|
|---------------------------------------||---------------------------------------|
|---------------------------------------||---------------------------------------|
|--                 System Read Throughput(MB/s):       3564.86                --|
|--                System Write Throughput(MB/s):      24217.99                --|
|--               System Memory Throughput(MB/s):      27782.84                --|
|---------------------------------------||---------------------------------------|

如何使用所有四个内存通道?

EN

回答 1

Stack Overflow用户

发布于 2018-03-24 00:09:23

我们使用-n指定的内存通道数量并不能做很多事情:它只是将每个内存池元素与DPDK Programmer's Guide中描述的不同内存通道对齐

即使我们在那里放了一个无效的数字,我们仍然可以使用所有的通道,也许不是最优的。可能有一些特殊情况,但这些情况非常少见,不仅可以使用-n选项轻松“修复”,还可以使用Testpmd User Guide中描述的--mbuf-size=N选项调整testpmd mbuf大小(即内存池元素)。

因此,我猜测命令行选项并不那么重要,真正的问题是您使用的系统没有每个NUMA节点有四个DIMM,即没有8个单独的DIMM。您可以尝试使用sudo dmidecode | grep DIMM或仅通过物理方式进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49452267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档