Hello,

I am using VPP 17.07 and initialized heap memory as 3G in startup
configuration.
My use case is to have 4k sub-interfaces to differentiated by VLAN and
associated each sub-interface with unique VRF. Eventually using 4k FIBs.

However i am observing VPP is crashing with memory crunch while adding an
ip route.

backtrace
#0  0x00007fae4c981cc9 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fae4c9850d8 in __GI_abort () at abort.c:89
#2  0x00000000004070b3 in os_panic ()
    at
/jenkins_home/workspace/vFE/vFE_Release_Master_Build/datapath/vpp/build-data/../src/vpp/vnet/main.c:263
#3  0x00007fae4d19007a in clib_mem_alloc_aligned_at_offset
(os_out_of_memory_on_failure=1,
    align_offset=<optimized out>, align=64, size=1454172096)
    at
/jenkins_home/workspace/vFE/vFE_Release_Master_Build/datapath/vpp/build-data/../src/vppinfra/mem.h:102
#4  vec_resize_allocate_memory (v=v@entry=0x7fade2c44880,
length_increment=length_increment@entry=1,
    data_bytes=<optimized out>, header_bytes=<optimized out>,
header_bytes@entry=24,
    data_align=data_align@entry=64)
    at
/jenkins_home/workspace/vFE/vFE_Release_Master_Build/datapath/vpp/build-data/../src/vppinfra/vec.c:84
#5  0x00007fae4db9210c in _vec_resize (data_align=<optimized out>,
header_bytes=<optimized out>,
    data_bytes=<optimized out>, length_increment=<optimized out>,
v=<optimized out>)
    at
/jenkins_home/workspace/vFE/vFE_Release_Master_Build/datapath/vpp/build-data/../src/vppinfra/vec.h:142

I initially suspected FIB is consuming more heap space. But I do see much
memory consumed by FIB table also and felt 3GB of heap is sufficient

vpp# show fib memory
FIB memory
             Name               Size  in-use /allocated   totals
             Entry               72    60010 /  60010     4320720/4320720
         Entry Source            32    68011 /  68011     2176352/2176352
     Entry Path-Extensions       60      0   /    0       0/0
        multicast-Entry         192    4006  /   4006     769152/769152
           Path-list             48    60016 /  60016     2880768/2880768
           uRPF-list             16    76014 /  76015     1216224/1216240
             Path                80    60016 /  60016     4801280/4801280
      Node-list elements         20    76017 /  76019     1520340/1520380
        Node-list heads          8     68020 /  68020     544160/544160

Is there any way to identify usage of heap memory in other modules?
Any pointers would be helpful.

Regards,
Balaji
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to