This just started yesterday. After a little research, I decided to raise the memory parameters in the /etc/default/openhab2 to:
EXTRA_JAVA_OPTS="-Xms512m -Xmx1024m -Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"
After stopping the service to clean the cache, I’ve restarted two more times. And this morning the system is very sluggish and I see this when running top, the same as yesterday before I raised the memory:
11310 openhab 20 0 1634680 1.1g 16648 S 220.3 27.8 218:15.03 java
12084 openhab+ 20 0 10636 3008 2496 R 0.7 0.1 4:30.74 top
609 mysql 20 0 728696 124260 15760 S 0.3 3.1 36:59.65 mysqld
Anyone have any idea what might be going on? I’m on an RPI4, OH2.5 stable and Java:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (Zulu188.8.131.52-CA-linux_aarch32hf) (build 1.8.0_222-b178)
OpenJDK Client VM (Zulu184.108.40.206-CA-linux_aarch32hf) (build 25.222-b178, mixed mode, Evaluation)
You have a memleak.
Remove bindings from your config, one-by-one or in batches, and observe when mem leaking stops.
Java would use less than half of what it does on your box at most.
Settings do not need to be that high, if your box has 1GB only that’s too much
Thanks for the reply. I installed the Samsung binding about a week or so ago, but only just added a couple of its channels a couple of days ago. I’ve removed that, cleaned and restarted. I hope that was the issue. None of the bindings I use are snapshot bindings, all came with the 2.5 release. If that’s not the problem, I have some uncommitted changed to rules and items. I can stash those changes and look more closely at them if the Samsung binding is not the problem.
But why would I remove the Dgnu.io.rxtx.SerialPorts from the EXTRA_JAVA_OPTS? My understanding was that was required for OH to access serial devices for USB devices like ZWave/Zigbee dongles. It was certainly my experience with my zwave controller.
No, it’s effectively just a filter list. ZWave should work fine without.
So, I don’t believe it was the Samsung binding. More likely something I did in a particular rule I’ve been tweaking lately. In any case, I’ve put back everything short of what I suspect is a questionable ruleset. If I narrow it down further, I’ll post here.
it’s pretty unlikely because of a rule (unless you call something external there), but of course, just test