[dpdk-users] rte_eal_memseg_init(), virtual memory usage and coredump size
Valerii Malov
jazzvoid at gmail.com
Thu Jul 2 14:56:50 CEST 2020
Hi,
I've noticed since upgrading to one of the recent DPDK versions (I think
it was DPDK 19), Linux application started to allocate rather big chunks
of virtual memory. This causes coredump file size to blow up, and
playing around with coredump_filter doesn't seem to help, since this is
not hugepages memory.
After digging through initialization process, seems like
rte_eal_memseg_init() is the culprit. It preallocates chunks for each
memory "type", until it hits one of the ceilings, in my case it's
default RTE_MAX_MEM_MB_PER_TYPE, which happens to be default 64
gigabytes, so on 2 numa node system this results in nearly extra 128
gigabytes of virtual memory.
Surprisingly enough, in FreeBSD implementation of rte_eal_memseg_init()
virtual memory usage seems to be a concern due to coredump file size
specifically.
Are there any ways to reduce the coredump file size apart from building
DPDK with reduced RTE_MAX_MEM_MB_PER_TYPE? Am I missing something in
system configuration and Linux is not supposed to dump those unused
virtual memory pages? This behavior is expressed on CentOS7, but I
*think* it was also reproducible on more modern distributions.
Thanks in advance,
Valerii.
More information about the users
mailing list