I have updated today to the new OH4 release. Now I have an high CPU usage. It has been moved from below 10% to 70% on an RPi wirh openhabian image. Is there any way to check which binding is using how much cpu power over the openhab karaf console?
I have already the lateset openhabian version installed, so the Java Option “EXTRA_JAVA_OPTS=”-Xms192m -Xmx768m" in the openhab file was present already. I have changed the htop configuration. Main processes are now SocketListner and Yesterday also upnp-main-queue. With the old Java 11 and OH3.4.4 I had average load of 4% this year.
I use myself astro, homeconnect, netatmo, ntp, openweathermap, sonos.
As my CPU usage is still very low on a RPI3, I would exclude all of them.
I also use the hue binding, but the old API, so to not exclude in case you are using the new API v2.
With upnp remember that the size of the upnp network is very important. Not necessarily the size of what’s configured. Jupnp tracks ALL upnp devices on the network once it’s active even if they aren’t configured as things. It may be prudent to dial up the jupnp thread pools to see if theres a contention issue.
FWIW I don’t seem to have this problem all the time. I had it in the afternoon when checking, but somehow it resolved itself - for now (without a restart). So maybe you are excluding them too fast, I’m not sure.
The reason why I mentioned sonos specifically is because of the thread name upnp-main-queue and the usage of openhab-transport-upnp in sonos, which I remembered.
Here is the full list:
You are right about hue, it’s also on the list, and common between installed bindings for @rene54321 and me. I very recently migrated to API v2. However, I think hue only uses UPnP for discovery, so there shouldn’t be any difference between using API v1 and v2?
From the full list I use deconz, hue, kodi, lgwebos, miele, samsungtv, sonos, squeezebox and wemo.
Okay, I could temporarily modify some rules in order to remove dependencies towards channels from this binding, but out of curiosity: Can you share a bit more on this? I might have a closer look at this binding then.
I’ve been battling this issue since April first reported here and then in the safeCall thread here
At one point I found a Jruby rule with a syntax error. At that point the CPU was pinning at 100% every half an hour or 45 minutes. Disabling that rule made things calm down a little but it would still happen once or twice a day. I’ve since disabled most my rules but it still happens.
For awhile I was setting safeCall to 100 as described here by Cody but it did not survive reboots and seem to only put the problem off for awhile, not cure it.
Jan also mentioned a bug in the RRD persistence service (since fixed) might be the culprit but I’ve disabled all persistence services and the problem persists.
I use the following bindings:
Hue (still on V1)
Apt install OH on Dell desktop with Mint Linux 19, I3, 8 Gbs RAM, 1 Tbs spinning HD
DSL and Jruby rules all UI based, no file configured anything
Heck, I just got home from work and it’s pinned right now!