[SOLVED] High CPU usage on Ubuntu Server

  • Platform information:
    • Hardware: Intel i3, 8GB DDR4, 64GB M.2 SSD
    • OS: Ubuntu Server 18.04 LTS
    • Java Runtime Environment: Zulu 8
    • openHAB version: 2.4.0-1
  • Issue of the topic: Within a minute after startup, Openhab’s Java command rockets to over 300% cpu utilization and gradually settles to 400%, which is the maximum displayed. The CPU usage falls back to normal levels for a moment when a command to an item is sent. By running threads --list in the console, we can see this thread with huge amounts of CPU time:

14 │ Start Level: Equinox Container: bb8506c3-3f4a-48c5-9c20-2ae318d60fd8 │ WAITING │ 7238 │ 6980

There isn’t much happening in the system. Only the Serial, Epson projector and TCP/UDP bindings are used. There are a few dozen items and rules in total. Judging by the name of the thread taking all the CPU time, this seems to be a lower level issue anyway.

Any good ideas on what could cause this behavior?

Don‘t know what‘s happening on your server, but cannot see this at my NUC (i3, 4GB memory, 64GB SSD) runnin Ubunru 18.4.2 LTS and Oracle Java 1.8_181. Running openhab with several bindings, homegear for my MAX! devices ad mosquitto broker, i have 18% memory usage an top shows average usage at 0.17;0.21;0.23.

Thanks Hans-Jörg for your input!

After five days of battling with the issue, I fixed this last night about an hour after posting this thread. Even though I had gone through my bindings multiple times and had judged that they were not causing issues, I once more wiped the binding installs clean and voila! Turned out it was the Epson projector binding. After resorting to the traditional serial binding with controlling my projectors, everything has been the way it should.

What we learned today? When battling with performance issues, quadruple check your bindings for any odd behavior