Increased CPU-load (3-4x) since upgrading to OpenWrt 22.03

Hey everyone.

Since upgrading from latest 21.02 release to 22.03, I'm seeing a 1.5-4x increase in CPU load across all my devices (router, wifi APs, wifi bridge/repeater), at least the normal "idle network" condition.

I can tell this is consistent since I'm monitoring my nodes and have full grafana history for typical load-curves, and it's obvious as it gets when graphed out like this:

This is for my "main" AP in my home-mesh, but all other OpenWRT devices are showing a similar increase in base-load, while otherwise idle:

Unit Before After Factor
TPLink Archer C7 3% 9% 3x
TPLink Archer C7 1.2% 4.8% 4x
TPLink Archer C7 1.2% 3.6% 3x
LinkSys WRT1900 ACS 0.5% 1.0% 2x
Netgear EX6150 1.75% 2.5% 1.5x

So everything from a 1.5x increase in idle load to almost 3-4x. That's quite a dramatic change!

Is this to be expected? Is this a side-effect over all services now being run through ujail?

Or have people simply not noticed, since they aren't graphing/monitoring their units like I do?

While all my devices are currently managing "fine", I'm curious about how this will affect the capability and capacity of the unit under actual load.

If the base-line increase while mostly idle is 3-4x, should I expect the same under load? I.e. that something which used to cause 10% CPU usage will now instead cause 30-40% CPU usage instead?

In short: Should I be worried? :smile:

Edit: Also posted on reddit.

4 Likes

Yes, you should worry about energy bills going up. Do you have something to actually measure the power consumption of those devices ?

Your Archers do not have the same HW, SW or networking that couls explain the idle load differences (between them, not between owrt versions) ?

I am curious about this. Has anybody else mentioned what the root cause of this additional CPU usage could be?

I have a fairly simple config on R7800, approx 15 devices connected. Idling on 22.03 the lowest I've had since 19.07. Before 5pm is idle, after 5pm is browsing and video chat.

1 Like

From what I can tell, top level processes causing increased CPU-usage seems to be

  • umdns (now packaged and enabled by default? Can’t recall seeing that being there before)
  • uhttpd used for prometheus-node-exporter-lua (which I use to gather load-data).

Now to be clear prometheus-node-exporter-lua when gathering data will cause some load to do that job, so figures may be somewhat inflated compared to unmonitored values. But it seems to me that upon invocation, prometheus-node-exporter-lua uses more CPU than it used to too?

Besides that the only non-default package I have added is dawn, occasionally gobbling 1% CPU and going away again, so I don't think that's the culprit either.

And that’s it.

I'll need to run 2 units side by side with 21.x and 22.x to get real actual data about how much these processes differ in the real world, I guess?

2 Likes

I don't think this is related to the base system (kernel, procd, etc) or ujail. I have an Archer C7 v2 that I upgraded from 21.02.3 to 22.03.0 and I don't see anything different in terms of CPU usage. I do, however, only use this device as a wireless access point without the web interface, so my package set is very minimal (custom image without luci/uhttpd, dnsmasq, odhcp6c/odhcpd, firewall4 ...). I run hostapd and ntpd in ujail, so ujail itself shouldn't be the culprit either.