[dpdk-dev] very high VIRT memory usage

Burakov, Anatoly anatoly.burakov at intel.com
Wed Jun 10 11:24:04 CEST 2020


On 09-Jun-20 8:40 PM, Francesco wrote:
> Hi Anatoly,
> 
> Thanks a lot for the detailed response!
> Good to know anyway there's a "fix" already done in 20.05... also 
> because I'm not interested in supporting secondary processes or having 
> shared memory...
> 
> Looking forward for the backports in stable branches then!
> 
> Thanks!
> Francesco
> 

Hi Francesco,

Just to be clear - the "fix" i'm talking about is not about using less 
memory - it's about not including this memory in core dumps. The memory 
amounts used will stay the same (i.e. you'll still see the ~256GB used 
each time you run DPDK).

> 
> Il mar 9 giu 2020, 14:46 Burakov, Anatoly <anatoly.burakov at intel.com 
> <mailto:anatoly.burakov at intel.com>> ha scritto:
> 
>     On 08-Jun-20 12:03 PM, Francesco wrote:
>      > Hi all,
>      > I upgraded an old DPDK-based app which was using DPDK 17.11 to
>     latest DPDK
>      > 20.05 and I noticed that if I look  at "top" I see that the VIRT
>     memory
>      > taken by my application is now 256.1GB while before it was <1GB.
>      >
>      > I've seen this same behavior with also "testpmd" example... is
>     this a known
>      > issue with latest DPDK versions?
>      > Can I tweak some setting to have VIRT memory usage more or less
>     similar to
>      > RSS ?
>      >
>      > I forgot to add I'm working on Linux, Centos7
>      >
>      > Thanks,
>      > Francesco Montorsi
>      >
> 
>     There was a discussion on this not too long ago, but i can't seem to
>     find it for some reason. Anyway, long story short, that's not a bug,
>     that's by design.
> 
>     Since 18.11 (or 18.05 to be precise), there is a new memory
>     subsystem in
>     DPDK that allows growing and shrinking DPDK memory usage at runtime.
>     That means, you can start with zero hugepages preallocated, and then
>     allocate as you go, letting the memory subsystem decide how much memory
>     you need.
> 
>     The catch is that all of this hugepage memory is allocated into
>     somewhere, some virtual address space. And *that* address space is
>     preallocated at startup, to allow for secondary processes to duplicate
>     primary process's address space exactly, and allow dynamic
>     allocation of
>     *shared* memory at runtime.
> 
>     This memory will show up in top et al. but the truth is, it's zero
>     cost,
>     because it's anonymous memory. It isn't actually taking up any RAM. It
>     will show up in dumps (20.05 has already fixed that issue, and the
>     fixes
>     will probably be backported to stable, including 18.11), so unless you
>     have a very specific problem, i don't think that's anything you should
>     be concerned about.
> 
>     -- 
>     Thanks,
>     Anatoly
> 


-- 
Thanks,
Anatoly


More information about the dev mailing list