Vyos-netlinkd - High CPU Usage

Hi,

I have been building VyOS images from source regularly to test on an appliance a setup with 3 ISPs each in a VRF. I noticed starting approximately the start of April the CPU usage spiked up from 1-2% to approximately 20%; the cause seems to be vyos-netlinkd consuming 100% of a CPU core constantly:

As an example, here is a CPU graph from the appliance; at approximately Tue 11:30 I rebooted VyOS to switch from an image I built on 2026-03-29 to one I had built 30 mins prior (2026-05-12) without any configuration modifications.

I found this topic that was recently started: High CPU usage on 2026.04.10-0031-rolling - #3 by c-po

However the problem appears to be different; if I strace the process for any exec calls I don’t see anything. I had a look through the logs/journal and couldn’t find anything indicating a problem/loop. If its useful

I took a strace for a couple of seconds to see what was happening: strace.txt (4.5 MB)

Because the setup from my ISPs isn’t what I typically encounter (DHCP/DHCPv6 required with 5 minute renewals) and/or because I am taking multiple full routing tables I put the same software image on an existing VyOS firewall used for IPSEC connectivity which has a much simpler setup - there is no BGP in VRFs, a tiny routing table, no DHCP etc. - that firewall has the same issue.

I had a couple of ideas of some things to test to see if the issue is also encountered there to maybe narrow down the cause a bit:

  • Remove the VRFs entirely to see if the issue occurs. The IPSEC firewall does have a single VRF configured for management (no routing protocols configured) which is something in common.
  • Remove BGP completely to see if the issue occurs with/without VRFs.

I wanted to see if anyone else had experienced the same issue or had any better ideas of where to start to troubleshoot this to save myself some time.

Thank you for this bugreport. It reads related to ⚓ T8781 vyos-netlinkd high CPU usage with lots of route updates which is on the roadmap for next week.

Thanks very much, that just saved me a lot of effort. I’ll subscribe to that so I can test and validate in my environment when its ready :slight_smile: