Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
None
-
None
-
None
-
ServiceMix 5.1.1
Camel 2.13.2
Java 1.7
OS: Red Hat 4.4.7
There is only 1 CPU present with a clock of 2.8GHz
Description
We are using ServiceMix 5.1.1 and frequently face high CPU usage on the java process.
The camel integrations are done using blueprint xml and there it also communicates with SolR which is present on another server.
I took the thread dump and isolated the thread which was taking up more than 99% of the CPU, and these are its details
"Restlet-1544714373" prio=10 tid=0x00007f08e24e7000 nid=0x5a9 runnable [0x00007f08d461b000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
- locked <0x0000000643252140> (a java.lang.Object)
at org.restlet.engine.io.ReadableSocketChannel.read(ReadableSocketChannel.java:82)
at org.restlet.engine.connector.Connection$1.read(Connection.java:232)
at org.restlet.engine.io.Buffer.fill(Buffer.java:395)
at org.restlet.engine.connector.InboundWay.onFill(InboundWay.java:284)
at org.restlet.engine.io.Buffer.process(Buffer.java:601) - locked <0x000000063e0b5340> (a java.nio.HeapByteBuffer)
at org.restlet.engine.connector.Way.processIoBuffer(Way.java:503)
at org.restlet.engine.connector.InboundWay.processIoBuffer(InboundWay.java:360)
at org.restlet.engine.connector.Way.onSelected(Way.java:456)
at org.restlet.util.SelectionRegistration.onSelected(SelectionRegistration.java:325)
at org.restlet.engine.connector.Connection.onSelected(Connection.java:612) - locked <0x000000063e0b5340> (a java.nio.HeapByteBuffer)
at org.restlet.util.SelectionRegistration.onSelected(SelectionRegistration.java:325)
at org.restlet.engine.connector.ConnectionController.onSelected(ConnectionController.java:219)
at org.restlet.engine.connector.ServerConnectionController.onSelected(ServerConnectionController.java:99)
at org.restlet.engine.connector.ConnectionController.selectKeys(ConnectionController.java:308)
at org.restlet.engine.connector.ConnectionController.doRun(ConnectionController.java:171)
at org.restlet.engine.connector.Controller.run(Controller.java:159)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
The full thread dump is attached.out-5-june.txt
Any suggestions to resolve this are welcome.