2016-03-29 41 views
3

Temel bir Spring Boot (1.3.2.RELEASE) uygulamasına sahibim. Bu uygulamayı IntelliJ IDEA'dan bağımsız bir uygulama olarak çalıştırıyorum (SpringApplication.run(...)).Spring Boot uygulaması tüm CPU'ları kullanmaya başlar

Uygulamayı bir süre çalıştıktan sonra, java işleminin tüm kullanılabilir CPU'ları kullanmaya başladığını birçok kez fark ettim. Aslında bunun aslında Bahar süreci olduğunu doğruladım ve örneğin IDEA değil. Bu, geliştirme makinemde gerçekleşirken, onunla herhangi bir etkileşim yapıyorum.

jstack Kullanarak aralarında bir dakika bulunan 3 farklı yığınlama işlemi gerçekleştirdim. Bu stacktraces arasında farklı olan iplikleri aşağıda listelenmektedir:

Dif log1 ve log 2

#log 1 
"NioBlockingSelector.BlockPoller-1" #20 daemon prio=5 os_prio=0 tid=0x000000002168f800 nid=0x17fc runnable [0x0000000019a9f000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473) 
    - locked <0x00000000830da710> (a java.lang.Object) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830d3130> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830d3120> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830d2fd0> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342) 

#log2 
"NioBlockingSelector.BlockPoller-1" #20 daemon prio=5 os_prio=0 tid=0x000000002168f800 nid=0x17fc runnable [0x0000000019a9f000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830d3130> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830d3120> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830d2fd0> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342) 

Dif log 2 ve log3:

referans için
#log2 
"http-nio-8080-ClientPoller-1" #22 daemon prio=5 os_prio=0 tid=0x000000001ab7d000 nid=0x2a00 runnable [0x000000002509e000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830c3628> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830c3618> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830c3398> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1034) 
    at java.lang.Thread.run(Thread.java:745) 


#log3 
"http-nio-8080-ClientPoller-1" #22 daemon prio=5 os_prio=0 tid=0x000000001ab7d000 nid=0x2a00 runnable [0x000000002509e000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473) 
    - locked <0x00000000830c3c00> (a java.lang.Object) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830c3628> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830c3618> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830c3398> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1034) 
    at java.lang.Thread.run(Thread.java:745) 

, burada log1 tam StackTrace olduğu:

2016-03-24 15:45:34 
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode): 

"http-nio-8080-exec-10" #38 daemon prio=5 os_prio=0 tid=0x0000000023a3f800 nid=0x2a14 waiting on condition [0x000000001984e000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-9" #37 daemon prio=5 os_prio=0 tid=0x0000000021716000 nid=0x2974 waiting on condition [0x00000000277df000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-8" #35 daemon prio=5 os_prio=0 tid=0x0000000021715000 nid=0x12e0 waiting on condition [0x00000000276bf000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-7" #34 daemon prio=5 os_prio=0 tid=0x0000000021714800 nid=0x904 waiting on condition [0x00000000271be000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-6" #32 daemon prio=5 os_prio=0 tid=0x0000000021713800 nid=0x29a4 waiting on condition [0x000000001fdfe000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-5" #31 daemon prio=5 os_prio=0 tid=0x0000000021712000 nid=0x12c4 waiting on condition [0x00000000267ae000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-4" #29 daemon prio=5 os_prio=0 tid=0x0000000021711800 nid=0x1098 waiting on condition [0x000000002047f000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-3" #28 daemon prio=5 os_prio=0 tid=0x0000000021710800 nid=0x1c38 waiting on condition [0x000000001bbde000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-exec-2" #27 daemon prio=5 os_prio=0 tid=0x0000000021710000 nid=0x1dd0 waiting on condition [0x0000000022a2f000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"DestroyJavaVM" #26 prio=5 os_prio=0 tid=0x000000002170f000 nid=0x28cc waiting on condition [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"http-nio-8080-exec-1" #24 daemon prio=5 os_prio=0 tid=0x000000001ab7e800 nid=0x29f8 waiting on condition [0x0000000026d4e000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x00000000830901c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103) 
    at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-Acceptor-0" #23 daemon prio=5 os_prio=0 tid=0x000000001ab7d800 nid=0x2a60 runnable [0x0000000026c2e000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) 
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422) 
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250) 
    - locked <0x00000000830c2f98> (a java.lang.Object) 
    at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:682) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-ClientPoller-1" #22 daemon prio=5 os_prio=0 tid=0x000000001ab7d000 nid=0x2a00 runnable [0x000000002509e000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830c3628> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830c3618> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830c3398> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1034) 
    at java.lang.Thread.run(Thread.java:745) 

"http-nio-8080-ClientPoller-0" #21 daemon prio=5 os_prio=0 tid=0x000000001ab7c000 nid=0x18b8 runnable [0x000000001891f000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296) 
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830c43a0> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830c4390> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830c4110> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1034) 
    at java.lang.Thread.run(Thread.java:745) 

"NioBlockingSelector.BlockPoller-1" #20 daemon prio=5 os_prio=0 tid=0x000000002168f800 nid=0x17fc runnable [0x0000000019a9f000] 
    java.lang.Thread.State: RUNNABLE 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method) 
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(WindowsSelectorImpl.java:473) 
    - locked <0x00000000830da710> (a java.lang.Object) 
    at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:174) 
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) 
    - locked <0x00000000830d3130> (a sun.nio.ch.Util$2) 
    - locked <0x00000000830d3120> (a java.util.Collections$UnmodifiableSet) 
    - locked <0x00000000830d2fd0> (a sun.nio.ch.WindowsSelectorImpl) 
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) 
    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342) 

"Tomcat JDBC Pool Cleaner[349885916:1458815021571]" #19 daemon prio=5 os_prio=0 tid=0x000000001cc52800 nid=0x80c in Object.wait() [0x000000002258e000] 
    java.lang.Thread.State: TIMED_WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.util.TimerThread.mainLoop(Timer.java:552) 
    - locked <0x00000000820f5608> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Timer.java:505) 

"container-0" #18 prio=5 os_prio=0 tid=0x000000001b2e9000 nid=0x2b44 waiting on condition [0x00000000226bf000] 
    java.lang.Thread.State: TIMED_WAITING (sleeping) 
    at java.lang.Thread.sleep(Native Method) 
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:407) 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer$1.run(TomcatEmbeddedServletContainer.java:140) 

"ContainerBackgroundProcessor[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]" #17 daemon prio=5 os_prio=0 tid=0x0000000018de5800 nid=0x2294 waiting on condition [0x000000002037f000] 
    java.lang.Thread.State: TIMED_WAITING (sleeping) 
    at java.lang.Thread.sleep(Native Method) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1344) 
    at java.lang.Thread.run(Thread.java:745) 

"Service Thread" #12 daemon prio=9 os_prio=0 tid=0x0000000018aca000 nid=0xac4 runnable [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"C1 CompilerThread2" #11 daemon prio=9 os_prio=2 tid=0x0000000018a61800 nid=0x2704 waiting on condition [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"C2 CompilerThread1" #10 daemon prio=9 os_prio=2 tid=0x0000000018a53000 nid=0x2838 waiting on condition [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"C2 CompilerThread0" #9 daemon prio=9 os_prio=2 tid=0x0000000018a4e000 nid=0x2bbc waiting on condition [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"JDWP Event Helper Thread" #7 daemon prio=10 os_prio=0 tid=0x0000000018a3b800 nid=0x444 runnable [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000018a2a000 nid=0x2514 waiting on condition [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000018a29000 nid=0x201c runnable [0x0000000000000000] 
    java.lang.Thread.State: RUNNABLE 

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x00000000174eb000 nid=0x1534 in Object.wait() [0x0000000018a1f000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) 
    - locked <0x0000000081f3ddf0> (a java.lang.ref.ReferenceQueue$Lock) 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) 
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) 

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x00000000174e9800 nid=0x2700 in Object.wait() [0x000000001881f000] 
    java.lang.Thread.State: WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:502) 
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) 
    - locked <0x0000000081fa4788> (a java.lang.ref.Reference$Lock) 

"VM Thread" os_prio=2 tid=0x00000000174e4000 nid=0x1070 runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x0000000002155000 nid=0x141c runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x0000000002156800 nid=0x2b9c runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002158000 nid=0x1c18 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002159800 nid=0x1fa0 runnable 

"VM Periodic Task Thread" os_prio=2 tid=0x0000000018aca800 nid=0x1d74 waiting on condition 

JNI global references: 16054 

Bulabildiğim tek ilgili kaynak eski bir hata raporu: https://bz.apache.org/bugzilla/show_bug.cgi?id=45661

Bu hatayı nasıl çözeceğiniz veya izleyeceğiniz konusunda herhangi bir öneriniz var mı?

+0

[Bu soru] 'nun bazı yanıtları (http://stackoverflow.com/questions/755899/monitor-cpu-usage-per-thread-in-java) kullanımda olabilir –

+0

Çok benzer bir sorunum var Tomcat 8.0 ile. Bir VMWare ESXi 5.1 sunucusunda dağıtılan bir Windows 2008 R2 üzerinde Java 1.8.0_77 kullanarak Tomcat 8.0.33 çalıştırıyorum. Çevreniz benzer mi? Herhangi bir geçici çözüm buldunuz mu? –

+0

Çevremim daha basit: bir win7x64 kuruluşu. Bu kendi geliştirme makinemle ilgili. Henüz bir çözüm bulamadım, ancak ilgili bir bağlantı https://youtrack.jetbrains.com/issue/IDEA-153821 (IntelliJ IDEA'da sorundan gerçekten hata ayıklama yapmamı engelleyen bir sorun). – DieterDP

cevap

1

Protokolleri Tomcat konektörlerindeki yerine NIO.2 yerine NIO.2 kullanarak zorlamayı deneyin.

Değiştir server.xml bu şekilde:

<Connector port="8080" 
    protocol="org.apache.coyote.http11.Http11Nio2Protocol" 
    connectionTimeout="20000" 
    redirectPort="8443" /> 
<Connector port="8009" 
    protocol="org.apache.coyote.ajp.AjpNio2Protocol" 
    redirectPort="8443" /> 

bağlamda NIO kullanırken bazı Java hata var gibi görünüyor.

İlgili konular