free -m
total used free shared buffers cached
Mem: 7943 2801 5142 11 110 185
-/+ buffers/cache: 2505 5437
Swap: 0 0 0
vmstat -s
8134532 K total memory
2868904 K used memory
1700432 K active memory
107784 K inactive memory
5265628 K free memory
112868 K buffer memory
189924 K swap cache
0 K total swap
0 K used swap
0 K free swap
178361 non-nice user cpu ticks
0 nice user cpu ticks
331328 system cpu ticks
117620282 idle cpu ticks
2341 IO-wait cpu ticks
0 IRQ cpu ticks
7879170 softirq cpu ticks
0 stolen cpu ticks
122739 pages paged in
458001 pages paged out
0 pages swapped in
0 pages swapped out
3012779657 interrupts
1171682478 CPU context switches
1569795929 boot time
120566 forks
The size of free memory decreases with time, but the size of active and inactive memory does not change. The size of the memory of frr daemons will not change.
I think the problem is with the network card drivers (ixgbe): https://lkml.org/lkml/2019/8/11/167
How to patch the kernel?
I can’t confirm now, that ixgbe module ‘eat’ all RAM. Can you provide meminfo and slabinfo when free memory been very low? If you need help with modules patch, I think I can help you make pakage for test this issue.
@Harunaga you can try latest rolling, it has new ixgbe
vyos@R1# sudo modinfo ixgbe
filename: /lib/modules/4.19.76-amd64-vyos/updates/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
version: 5.6.3
vyos@R1# run show version
Version: VyOS 1.2-rolling-201910080117
Built by: autobuild@vyos.net
I’ve updated the package lists (a change in GitHub - vyos/vyos-world: VyOS metapackage was erroneously not pushed to upstream after manual tests—sorry, my fault!).
Next build should have it right.
I think you need increase ring buffers, because in stat rx_missed_errors: 750195
You can execute sudo ethtool -G eth2 rx 4096 tx 4096 for increase ring buffers, but be careful, might be short link up/down. After increasing ring buffers, irq and cpu load might be less.
And I see rx_csum_offload_errors: 52804444 for some reason. Guess new ixgbe better detect these packet.