2 w772759313 w772759313 于 2014.08.12 14:18 提问

weblogic活动进程不正常,非常多。

weblogic的活动进程居高不下,实际连接数根本没有那么多,不知怎么回事。求大神。
CSDN移动问答
这是转储线程堆里边的信息,有大量类似信息。都是等待,而且都是active状态的。

        ===== FULL THREAD DUMP ===============

        Tue Aug 12 10:54:48 2014

        Oracle JRockit(R) R28.1.0-123-138454-1.6.0_20-20101014-1350-linux-x86_64

        "Main Thread" id=1 idx=0x4 tid=12399 prio=5 alive, waiting, native_blocked

            -- Waiting for notification on: weblogic/t3/srvr/T3Srvr@0xc70a6538[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at weblogic/t3/srvr/T3Srvr.waitForDeath(T3Srvr.java:981)

            ^-- Lock released while waiting: weblogic/t3/srvr/T3Srvr@0xc70a6538[fat lock]

            at weblogic/t3/srvr/T3Srvr.run(T3Srvr.java:490)

            at weblogic/Server.main(Server.java:71)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "(Signal Handler)" id=2 idx=0x8 tid=12400 prio=5 alive, native_blocked, daemon

        "(OC Main Thread)" id=3 idx=0xc tid=12401 prio=5 alive, native_waiting, daemon

        "(GC Worker Thread 1)" id=? idx=0x10 tid=12402 prio=5 alive, daemon

        "(GC Worker Thread 2)" id=? idx=0x14 tid=12403 prio=5 alive, daemon

        "(GC Worker Thread 3)" id=? idx=0x18 tid=12404 prio=5 alive, daemon

        "(GC Worker Thread 4)" id=? idx=0x1c tid=12405 prio=5 alive, daemon

        "(Code Generation Thread 1)" id=4 idx=0x20 tid=12406 prio=5 alive, native_waiting, daemon

        "(Code Optimization Thread 1)" id=5 idx=0x24 tid=12407 prio=5 alive, native_waiting, daemon

        "(VM Periodic Task)" id=6 idx=0x28 tid=12408 prio=10 alive, native_blocked, daemon

        "Finalizer" id=7 idx=0x2c tid=12409 prio=8 alive, native_waiting, daemon

            at jrockit/memory/Finalizer.waitForFinalizees(J[Ljava/lang/ObjectI(Native Method)

            at jrockit/memory/Finalizer.access$700(Finalizer.java:12)

            at jrockit/memory/Finalizer$4.run(Finalizer.java:189)

            at java/lang/Thread.run(Thread.java:619)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "Reference Handler" id=8 idx=0x30 tid=12410 prio=10 alive, native_waiting, daemon

            at java/lang/ref/Reference.waitForActivatedQueue(J)Ljava/lang/ref/Reference;(Native Method)

            at java/lang/ref/Reference.access$100(Reference.java:11)

            at java/lang/ref/Reference$ReferenceHandler.run(Reference.java:82)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "(Sensor Event Thread)" id=9 idx=0x34 tid=12411 prio=5 alive, native_blocked, daemon

        "VM JFR Buffer Thread" id=10 idx=0x38 tid=12412 prio=5 alive, in native, daemon

        "Timer-0" id=13 idx=0x3c tid=12415 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: java/util/TaskQueue@0xc504e198[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at java/util/TimerThread.mainLoop(Timer.java:483)

            ^-- Lock released while waiting: java/util/TaskQueue@0xc504e198[fat lock]

            at java/util/TimerThread.run(Timer.java:462)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "Timer-1" id=14 idx=0x40 tid=12416 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: java/util/TaskQueue@0xc504e548[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/util/TimerThread.mainLoop(Timer.java:509)

            ^-- Lock released while waiting: java/util/TaskQueue@0xc504e548[fat lock]

            at java/util/TimerThread.run(Timer.java:462)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" id=15 idx=0x44 tid=12417 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: weblogic/work/ExecuteThread@0xc6e748b0[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:162)

            ^-- Lock released while waiting: weblogic/work/ExecuteThread@0xc6e748b0[fat lock]

            at weblogic/work/ExecuteThread.run(ExecuteThread.java:183)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" id=16 idx=0x48 tid=12418 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: weblogic/work/ExecuteThread@0xc6d42d00[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:162)

            ^-- Lock released while waiting: weblogic/work/ExecuteThread@0xc6d42d00[fat lock]

            at weblogic/work/ExecuteThread.run(ExecuteThread.java:183)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" id=17 idx=0x4c tid=12419 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: weblogic/work/ExecuteThread@0xc6e1c620[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:162)

            ^-- Lock released while waiting: weblogic/work/ExecuteThread@0xc6e1c620[fat lock]

            at weblogic/work/ExecuteThread.run(ExecuteThread.java:183)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

        "[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" id=18 idx=0x50 tid=12420 prio=5 alive, waiting, native_blocked, daemon

            -- Waiting for notification on: weblogic/work/ExecuteThread@0xc6e1bf20[fat lock]

            at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/ObjectZ(Native Method)

            at java/lang/Object.wait(J)V(Native Method)

            at java/lang/Object.wait(Object.java:485)

            at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:162)

            ^-- Lock released while waiting: weblogic/work/ExecuteThread@0xc6e1bf20[fat lock]

            at weblogic/work/ExecuteThread.run(ExecuteThread.java:183)

            at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)

            -- end of trace

………………………………此处省略N个类似信息

Blocked lock chains

        ===================

        Chain 2:

        "ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=2024 idx=0x1f9c tid=14424 waiting for java/lang/String@0xc6cfacc0 held by:

        "ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=2023 idx=0x1f98 tid=14423 in chain 1

        Chain 3:

        "ExecuteThread: '3' for queue: 'weblogic.socket.Muxer'" id=2025 idx=0x1fa0 tid=14425 waiting for java/lang/String@0xc6cfacc0 held by:

        "ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=2023 idx=0x1f98 tid=14423 in chain 1

        Open lock chains

        ================

        Chain 1:

        "ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=2022 idx=0x1f94 tid=14422 waiting for java/lang/String@0xc6cfacc0 held by:

        "ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=2023 idx=0x1f98 tid=14423 (active)

        ===== END OF THREAD DUMP ===============

注:同样的java程序布置在另一套系统linux+oracle+weblogic上没出现这问题,但是这个布置在虚拟机云平台上,不知是否有影响。

3个回答

u013247837
u013247837   2015.09.15 00:31

你好,我目前也遇到了这个问题,不知道你当时是如何解决的?可否指点一下,也是生产环境,比较重要而且解决时间不多,求解,谢谢!

u012671479
u012671479   2015.09.18 09:04

我也是这个问题,求解啊

he_jian1
he_jian1   2015.10.29 10:56

根据分析你所提供的快照,原因是weblogic线程池设置的线程数据太少造成,线程不够用,可以适当调整线程池的线程数目

Csdn user default icon
上传中...
上传图片
插入图片