We're seeing issues where cadvisor spends a lot of time on CPU.
The following should run on any system with systemd (code is in this gist):
go run main.go
As requested in netdev, this gist contains the stacks leading into skb:kfree_skb
:
The easiest way to look at the results is the flamegraphs, where reason
is the top frame.
The results are from v6.1.38.
Linux kernel has a garbage collection mechanism for inflight unix sockets passed to other unix sockets. This mechanism can be used to cause excessive load onto well behaved processes that are using regular unix sockets without any fd passing, because garbage collection is called in the socket write path.