查看: 2571|回复: 2

[性能调整] 一个关于weblogic活动线程的问题

[复制链接]
论坛徽章:
0
发表于 2014-8-12 13:49 | 显示全部楼层 |阅读模式
本帖最后由 刘刘00 于 2014-8-12 13:52 编辑

weblogic的活动进程居高不下,实际连接数根本没有那么多,不知怎么回事。求大神。
线程.png
这是转储线程堆里边的信息,有大量类似信息。都是等待,而且都是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上没出现这问题,但是这个布置在虚拟机云平台上,不知是否有影响。

招聘 : 技术/实施/服务顾问
论坛徽章:
0
发表于 2014-8-27 15:34 | 显示全部楼层
从图上看n多个线程都是空闲的啊,没有任何请求。

使用道具 举报

回复
论坛徽章:
0
发表于 2014-10-16 11:02 | 显示全部楼层
都是空闲队列,应该是初始线程数设置过大吧,可以讲线程初始值设置小些,不知道我理解对不对。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表