Quantcast
Channel: Ignite Realtime : All Content - Openfire Dev
Viewing all articles
Browse latest Browse all 966

Openfire 3.10.0 Beta - High CPU usage

$
0
0

Hi all,

 

we had been running Openfire 3.9.3 and we were experiencing an issue that we need to restart openfire in a week or two, the problem was high cpu usage and high memory usage.

Recently we have updated our openfire installation to the beta (nightly openfire_2015-03-08.deb) and the things got worse yesterday we needed to restart every five minutes. I removed some plugins that were not used without change. With 3.9.3 the problem was high cpu and memory, seems now it is only the cpu.

 

Openfire 3.9.3 this is the memory and cpu graph

Screen Shot 2015-03-10 at 11.12.37 .pngScreen Shot 2015-03-10 at 11.14.46 .png

Openfire beta again memory and cpu:

Screen Shot 2015-03-10 at 11.13.14 .pngScreen Shot 2015-03-10 at 11.13.21 .png

 

Is there something we can do to catch that problem? Is there a common procedure we can do? Will the profile4j interrupt the service as it is production one and we have more then a thousand opened sessions, or it will interrupt only when we connect to the agent and it is ok to start openfire with profile4j enabled?

 

I tried to track down the threads with high cpu usage and here is what I had, although not sure how reliable this is (I used jstack and htop):

 

"NioProcessor-6" #73 prio=5 os_prio=0 tid=0x00007f83f4007800 nid=0x55a3 runnable [0x00007f83c22e1000]

   java.lang.Thread.State: RUNNABLE

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:655)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$10(AbstractPolli ngIoProcessor.java:654)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1121)

  at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

  at java.lang.Thread.run(Thread.java:745)

 

"NioProcessor-6" #73 prio=5 os_prio=0 tid=0x00007f83f4007800 nid=0x55a3 runnable [0x00007f83c22e1000]

   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:380)

  - locked <0x00000000c7491a88> (a java.lang.Object)

  at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:311)

  at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:1)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:694)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:668)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:657)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$10(AbstractPolli ngIoProcessor.java:654)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1121)

  at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

  at java.lang.Thread.run(Thread.java:745)

 

"NioProcessor-5" #69 prio=5 os_prio=0 tid=0x00007f83f4006000 nid=0x559f runnable [0x00007f83c26e5000]

   java.lang.Thread.State: RUNNABLE

  at sun.nio.ch.NativeThread.current(Native Method)

  at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:326)

  - locked <0x00000000c71eca00> (a java.lang.Object)

  - locked <0x00000000c71ec9e0> (a java.lang.Object)

  at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:311)

  at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:1)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoP rocessor.java:694)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:668)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPolling IoProcessor.java:657)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$10(AbstractPolli ngIoProcessor.java:654)

  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractP ollingIoProcessor.java:1121)

  at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

  at java.lang.Thread.run(Thread.java:745)

 

Thanks

damencho


Viewing all articles
Browse latest Browse all 966

Trending Articles