You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-users@mina.apache.org by Martin Wunderlich <ma...@censhare.de> on 2014/05/06 10:55:22 UTC

Unexpected high server load caused by MINA-threads

Hi all, 

We have caught some high CPU loads on a server that runs the FTP server feature which is based on MINA. The only running threads at the time were two MINA-related threads and I am wondering, if anyone might know what the cause could be. 
JStack gives the following thread details: 

"NioProcessor-21" prio=3 tid=0x000000001a777800 nid=0x976c runnable [0xffff80ffaf2d4000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
	at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:223)
	at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:84)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
	- locked <0x00000007013b2148> (a sun.nio.ch.Util$2)
	- locked <0x00000007013b2138> (a java.util.Collections$UnmodifiableSet)
	- locked <0x0000000701381b20> (a sun.nio.ch.DevPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
	at org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:72)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1093)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	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:744)

...
"NioProcessor-20" prio=3 tid=0x000000000237f000 nid=0x9769 runnable [0xffff80ffb0ef0000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
	at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:223)
	at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:84)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
	- locked <0x00000007013b1fd8> (a sun.nio.ch.Util$2)
	- locked <0x00000007013b1fc8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x0000000701381a08> (a sun.nio.ch.DevPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
	at org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:72)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1093)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	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:744)


These are the only two running thread on the system. I am not sure what exactly the root cause is. Is it some kind of locking problem? Any ideas? 
Thanks a lot. 

Cheers, 

Martin