Startup duration

Hi,

ever using 2.1 (various snapshot versions), I’m seeing that a openhab restart takes about 35 minutes until all modules become active.
While I have a large installation (150+ devices, 600+ items/groups) and my Pi (gen 2) of course isn’t the greatest in terms of performance, that’s way too much.
OH1 was much faster and I’m suspecting a bug somewhere, maybe in the order of module initialization. Add to this the fact that these 35 mins are the point in time where the zwave module starts working, so it takes another 30 mins or so to walk through initializing all zwave devices due to air traffic jam.

So here’s some observations that I’d like you to confirm or point at if you feel that’s unusual or largely different in your installation:

  • It takes so long to resolve depencies until the last module starts. Most of the time I can see java consume around 100%, i.e. full (but serialized) utilization of a single core. I don’t see much I/O, so CPU seems to be the bottleneck.
    Shouldn’t ESH allow for a greater amount of parallelization ? Any decent processor has multiple cores (Pi2 has 4).

  • To load rules takes up to 2:40 minutes for the largest single one of my rule files (~1k lines). Recompilation does, however, take as-long when I change that rule in a running system.

  • I’m using rrd4j as the default persistence DB, and persist most items.
    These are my modules: binding = zwave1,max,http1,hue,network,exec,weather1,astro,mqtt1,mqttitude1,pioneeravr,ntp
    I tried to omit some of them, but it does not seem to make a relevant difference either.

  • I’m seeing the rules engine being initialized pretty much at the beginning. I feel that the rules engine should start later as it does not make sense to run rules on items that are neither initialized by the associated module (zwave for most of mine) or the persistence DB (I’m persisting most values using rrd4j).
    However, to delete all rules doesn’t seem to affect the initialization time of the modules by a markable margin so I’m not sure it would make a difference.
    Can I change the dependency chain somewhere ?

I know this is a somewhat vague diagnosis and open question, but I’d be glad to get suggestions where (and how) to investigate this further. Feel free to ask for details.

thanks
Markus

Are you by any chance using the Harmony Hub binding? Since I deleted that binding openHAB start up phase was much faster for me.
But did not dig deeper into that yet …

Nope, see binding list above.

:sunglasses:

I’d like to re-open this issue again as I see the same problem in my setup

  • OH 2.5.4.1
  • Raspberry 3
  • Raspbian

It takes 35min for my system to start - and the important bindings get initialized really late. For me it is mainly tinkerforge - as my input and output switches/contacts are connected via tinkerforge - and Homematic for thermostats and blinds.

bindings:

  • astro
  • Exec
  • Expire
  • Homematic
  • HTTP
  • LogReader
  • Mail
  • NTP
  • OpenWeatherMap
  • Spotify
  • SystemInfo
  • Tinkerforge

UI’s

  • basicui
  • paperui
  • habpanel
  • grafana
  • Logviewer

The CPU-Load sticks are 100%++ during the 35min start-up and afterwards is at <5%. So there must be some heavy processing going on.

Here some data from my log:

  • loading
    • items takes 15sec
    • rules takes 120sec

first reaction for the bindings

  • astro
    • ONLINE after 8min
  • Exec
    • ONLINE ater 12min
  • Homematic
    • ONLINE after 8min
  • LogReader
    • ONLINE after 14min
  • OpenWeatherMap
    • ONLINE after 20min
  • Spotify
    • ONLINE after 15min
  • SystemInfo
    • ONLINE after 20min
  • Tinkerforge
    • ONLINE after 23min

Is there any way to change the order of binding initialization and e.g. load Tinkerforge binding first?

here are my logfiles:

Clear the cache

Enable ‘delayed rules load’ option in openHABian
Use ZRAM

… and try disabling Grafana. It’s likely just too much for a 1GB system.

No.

@mstormi: Thanks for the hints. I will try this out tomorrow and update the results.

Hi @mstormi:
Sorry I didn’t have time to test it yesterday and today.

It’s not forgotten.

Hi @mstormi,

I tested the change of start-level and already it improved a lot.
Now my contacts and switches are available and running after 5min - which is an acceptable time.

Thanks a lot.