[dpdk-users] How can create a mempool more than 20GB?
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 10 19:36:21 CEST 2019
On Tue, 10 Sep 2019 19:02:37 +0800
宋捷 <songj at zctt.com> wrote:
> Hi All,
>
>
>
> I assigned 40GB hugepages for each node.
>
>
>
>
>
> I need a huge mempool buffer (20GB) for save received packets, I
> create a mempool as follow:
>
> rte_pktmbuf_pool_create("rx_dump_pool", 8*1000*1000, 0, 0,
> RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id() );
>
>
>
> RTE_MBUF_DEFAULT_BUF_SIZE is 2048+128 , I think rte_pktmbuf_pool_create
> should create 8*1000*1000*(2176)≈16G buffer,
>
> But failed with below prompt:
>
> EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list
>
> EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list
>
> EAL: Error - exiting with code: 1
>
>
>
> I try to reduce the size, the mempool can be created successfully as follow:
>
> rte_pktmbuf_pool_create("rx_dump_pool", 5000000, 0, 0,
> RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id() );
>
>
>
>
>
> Does DPDK mempool has a limited size ? I have no ideal for this L
>
>
You are going to need 1G huge pages on this, and a system with very large
amount of memory. To setup 1G huge pages requires settings on kernel command line.
Also expect slow startup times with that much memory.
More information about the users
mailing list