Thanks @TimO , seems is working fine. I updated my installation with the new jar and now CPU is around 4-6%. Thanks a lot. By the way, I did not see a commit in the code repository.
Posts made by avinaz
-
RE: openHAB 2.0 binding
-
RE: openHAB 2.0 binding
@TimO I would say at a glance, that the thread is continuously reading the Serial port, with out a break, so this must be very CPU consuming?
-
RE: openHAB 2.0 binding
Is any bodoy having high CPU load with this binding? My setup is: Openhab 2.0, running on a Pi3, with Java SDK Oracle. Openhab is running +100% CPU all the time. Here is the output of top command:
top - 19:54:33 up 9:19, 1 user, load average: 0.98, 1.01, 1.03 Tasks: 153 total, 1 running, 152 sleeping, 0 stopped, 0 zombie %Cpu(s): 21.4 us, 4.2 sy, 0.0 ni, 74.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 948056 total, 112832 free, 325232 used, 509992 buff/cache KiB Swap: 0 total, 0 free, 0 used. 573692 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3919 root 20 0 455068 180668 14280 S 101.3 19.1 547:33.46 java 28144 root 20 0 8436 2840 2280 R 0.7 0.3 0:06.30 top 368 root 20 0 1448 88 16 S 0.3 0.0 0:31.75 rngd
If I look all the threats with command
ps -Lp 3919
I can see one that is eating too much CPU:
3919 4226 ? 08:25:13 java
and looking at this one in the output of a thread dump: (4226 DEC = 1082 HEX)
Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: "pool-41-thread-1" #273 prio=5 os_prio=0 tid=0x62addc00 **nid=0x1082** runnable [0x5d6be000] Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: java.lang.Thread.State: RUNNABLE Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at gnu.io.RXTXPort.nativeavailable(Native Method) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at gnu.io.RXTXPort$SerialInputStream.available(RXTXPort.java:1568) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011- locked <0x6afb81f8> (a gnu.io.RXTXPort$SerialInputStream) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at sun.nio.cs.StreamDecoder.inReady(StreamDecoder.java:363) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at sun.nio.cs.StreamDecoder.implReady(StreamDecoder.java:371) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at sun.nio.cs.StreamDecoder.ready(StreamDecoder.java:185) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011- locked <0x6b2a41e8> (a java.io.InputStreamReader) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.io.InputStreamReader.ready(InputStreamReader.java:195) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.io.BufferedReader.ready(BufferedReader.java:463) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011- locked <0x6b2a41e8> (a java.io.InputStreamReader) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at org.openhab.binding.mysensors.protocol.MySensorsReader.run(MySensorsReader.java:50) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.util.concurrent.FutureTask.run(FutureTask.java:266) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) Jun 1 19:30:31 avinaz-pi3 start.sh[3822]: #011at java.lang.Thread.run(Thread.java:745)
You can see that is related to org.openhab.binding.mysensors.protocol.MySensorsReader.run(MySensorsReader.java:50)
Any ideas?