weblogic 9.2 内存泄露问题 转储线程堆栈

问题描述

最近客户的一个生产环境经常当机,我们的环境是一个主服务,下面有两个收管服务,但时间上只有一个收管服务app1在用,另外一个app2服务只是备用无法访问,有两应用包。主服务的JVM分配512MB,其他连个收管服务各2GB内存空间。今天快下班时app1监控到可用堆栈是0%,点击“转储线程堆栈”,显示如下内容,请高手帮忙分析。此页中显示了每个线程的当前堆栈。"MultiThreadedHttpConnectionManagercleanup"waitingforlockjava.lang.ref.ReferenceQueue$Lock@11b7028WAITINGjava.lang.Object.wait(NativeMethod)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)"LDAPConnThread-6ldaps://10.138.1.116:389"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"[STANDBY]ExecuteThread:'26'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@608801WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[STANDBY]ExecuteThread:'25'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@180fdf2WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[STANDBY]ExecuteThread:'24'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@1a05930WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[STANDBY]ExecuteThread:'23'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@3f602cWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[STANDBY]ExecuteThread:'22'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@c2f316WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"Thread-20860"TIMED_WAITINGjava.lang.Thread.sleep(NativeMethod)com.codestudio.util.LifeGuardThread.run(LifeGuardThread.java:58)java.lang.Thread.run(Thread.java:595)"Thread-20859"TIMED_WAITINGjava.lang.Thread.sleep(NativeMethod)com.codestudio.util.PoolSkimmerThread.run(PoolSkimmerThread.java:48)java.lang.Thread.run(Thread.java:595)"MultiThreadedHttpConnectionManagercleanup"waitingforlockjava.lang.ref.ReferenceQueue$Lock@e550b9WAITINGjava.lang.Object.wait(NativeMethod)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)"[ACTIVE]ExecuteThread:'21'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@dc177eWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)

解决方案

解决方案二:
"[ACTIVE]ExecuteThread:'20'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@169d01aWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'19'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@10b5011WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'18'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@12dfc4eWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'17'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@116ab60WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'16'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@14d3256WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'15'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@135ea1cWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'14'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@123d2b9WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'13'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@df8cfdWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'12'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@a166b4WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'11'forqueue:'weblogic.kernel.Default(self-tuning)'"RUNNABLEsun.management.ThreadImpl.getThreadInfo0(NativeMethod)sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142)weblogic.platform.VM15.threadDumpAsString(VM15.java:22)weblogic.platform.VM.threadDumpAsString(VM.java:124)weblogic.t3.srvr.JVMRuntime.getThreadStackDump(JVMRuntime.java:113)sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)java.lang.reflect.Method.invoke(Method.java:585)weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:499)com.sun.jmx.mbeanserver.DynamicMetaDataImpl.getAttribute(DynamicMetaDataImpl.java:96)com.sun.jmx.mbeanserver.MetaDataImpl.getAttribute(MetaDataImpl.java:181)com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:638)com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:659)weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:281)weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$5.run(AuthenticatedSubjectInterceptor.java:192)weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.getAttribute(AuthenticatedSubjectInterceptor.java:190)weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:269)javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1385)javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)java.security.AccessController.doPrivileged(NativeMethod)javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:597)javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(UnknownSource)weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:550)weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:440)weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:436)weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:58)weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:975)weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
解决方案三:
"[ACTIVE]ExecuteThread:'10'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@17e2511WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'9'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@5dc73cWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'8'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@10723c3WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'7'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@c34becWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"Thread-20140"TIMED_WAITINGjava.lang.Thread.sleep(NativeMethod)com.codestudio.util.LifeGuardThread.run(LifeGuardThread.java:58)java.lang.Thread.run(Thread.java:595)"Thread-20139"TIMED_WAITINGjava.lang.Thread.sleep(NativeMethod)com.codestudio.util.PoolSkimmerThread.run(PoolSkimmerThread.java:48)java.lang.Thread.run(Thread.java:595)"数据库表备份"waitingforlockjava.util.TaskQueue@1ad7a86TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-10"waitingforlockjava.util.TaskQueue@470ff8TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-9"waitingforlockjava.util.TaskQueue@1699323TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-8"waitingforlockjava.util.TaskQueue@3ae4afTIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"LDAPConnThread-5ldap://10.138.1.152:8001"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"LDAPConnThread-4ldap://10.138.1.152:8001"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"FSCacheRefQueueThread"waitingforlockjava.lang.ref.ReferenceQueue$Lock@7bbe1aWAITINGjava.lang.Object.wait(NativeMethod)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)workshop.util.filesystem.FSCache$FSCacheRefQueueThread.run(FSCache.java:65)"DynamicListenThread[Default]"RUNNABLEnativejava.net.PlainSocketImpl.socketAccept(NativeMethod)java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)java.net.ServerSocket.implAccept(ServerSocket.java:456)java.net.ServerSocket.accept(ServerSocket.java:427)weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:34)weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:522)weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:419)weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:165)java.lang.Thread.run(Thread.java:595)
解决方案四:
"[ACTIVE]ExecuteThread:'6'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@333673WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'5'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@161d0eaWAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"weblogic.GCMonitor"waitingforlockjava.lang.ref.ReferenceQueue$Lock@1fdcb5eTIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)weblogic.platform.GCMonitorThread.waitForNotification(GCMonitorThread.java:88)weblogic.platform.GCMonitorThread.run(GCMonitorThread.java:64)"Thread-14"RUNNABLEnativejava.net.PlainSocketImpl.socketAccept(NativeMethod)java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)java.net.ServerSocket.implAccept(ServerSocket.java:456)java.net.ServerSocket.accept(ServerSocket.java:427)org.apache.axis.monitor.SOAPMonitorService$ServerSocketThread.run(SOAPMonitorService.java:189)java.lang.Thread.run(Thread.java:595)"Timer-7"waitingforlockjava.util.TaskQueue@132c2c9TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-6"waitingforlockjava.util.TaskQueue@19241b7TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-5"waitingforlockjava.util.TaskQueue@11875fcTIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-4"waitingforlockjava.util.TaskQueue@ea0149TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-3"waitingforlockjava.util.TaskQueue@fa925aTIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"Timer-2"waitingforlockjava.util.TaskQueue@9e8ca8TIMED_WAITINGjava.lang.Object.wait(NativeMethod)java.util.TimerThread.mainLoop(Timer.java:509)java.util.TimerThread.run(Timer.java:462)"[ACTIVE]ExecuteThread:'4'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@1526b13WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'3'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@1158f76WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"[ACTIVE]ExecuteThread:'2'forqueue:'weblogic.kernel.Default(self-tuning)'"waitingforlockweblogic.work.ExecuteThread@12493f8WAITINGjava.lang.Object.wait(NativeMethod)java.lang.Object.wait(Object.java:474)weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:165)weblogic.work.ExecuteThread.run(ExecuteThread.java:186)"LDAPConnThread-3ldap://10.138.1.152:8001"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"weblogic.store._WLS_app1"WAITINGsun.misc.Unsafe.park(NativeMethod)java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:573)weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:621)java.lang.Thread.run(Thread.java:595)"LDAPConnThread-2ldaps://10.138.1.116:389"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"LDAPConnThread-1ldap://10.138.1.152:8001"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"LDAPConnThread-0ldap://10.138.1.152:8001"RUNNABLEnativejava.net.SocketInputStream.socketRead0(NativeMethod)java.net.SocketInputStream.read(SocketInputStream.java:134)java.io.BufferedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInputStream.read(BufferedInputStream.java:235)netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:538)java.lang.Thread.run(Thread.java:595)"DoSManager"TIMED_WAITINGjava.lang.Thread.sleep(NativeMethod)com.octetstring.vde.DoSManager.run(DoSManager.java:433)
解决方案五:
今天快下班时app1监控到可用堆栈是0%,点击“转储线程堆栈”,显示如下内容,请高手帮忙分析。可用堆栈,我看是内存,不是线程。兄弟你整错了方向了
解决方案六:
发这么多信息,其实只是一个信息,其它的属于循环内。
解决方案七:
该回复于2009-09-28 09:39:39被版主删除

时间: 2024-09-17 04:13:44

weblogic 9.2 内存泄露问题 转储线程堆栈的相关文章

如何用Java编写一段代码引发内存泄露

Q:刚才我参加了面试,面试官问我如何写出会发生内存泄露的Java代码.这个问题我一点思路都没有,好囧. A1:通过以下步骤可以很容易产生内存泄露(程序代码不能访问到某些对象,但是它们仍然保存在内存中): 应用程序创建一个长时间运行的线程(或者使用线程池,会更快地发生内存泄露). 线程通过某个类加载器(可以自定义)加载一个类. 该类分配了大块内存(比如new byte[1000000]),在某个静态变量存储一个强引用,然后在ThreadLocal中存储它自身的引用.分配额外的内存new byte[

android内存泄露分析工具MAT详解

一.准备 1.什么是MAT Eclipse提供的一个内存分析工具.它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. android studio未集成该插件 需要你下载独立版 android studio的DDMS可以生成hprof是什么文件,不过需要进行一下格式转化(.hprof文件从Dalvik格式转换成J2SE HPROF格式),才可以导入MAT独立版软件. 2.hprof是什么文件 heap dumps,中文翻译,堆转储,快照.即堆内存某个时刻的情

一次内存泄露问题的排查

系统对外提供的Solr查询接口,在来自外部调用的压力加大之后,就会出现solr查询报Read Timed Out的异常,从表面现象上看是此时solr核压力过大,无法响应过多的查询请求.       但实际上此时并发查询压力并不是很大,那么为何solr核会无法及时响应查询请求呢?首先用top查看了下load average,也是很低,也佐证了系统本身压力并不大.       然后,用jstack –l <pid> 查看那些cpu使用率过高的线程,发现全都是GC线程,说明GC过于频繁,而且耗时过长

关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看

问题描述 关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看 之前一段时间使用一段时间老是导致内存升高,而且内存也不回收,一步一步的排除了很多地方, 到最后发现问题是出在adapter中,但是也不知道怎么改了. 大神帮看看哪些地方会导致内存泄露! public void setmList(List mList) { if (isgroup) { isDiaplayNickName = SharePreferenceUtil.get_Boolean

关于MFC下检查和消除内存泄露的技巧

摘要 本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境 下用VC++查找,定位和消除内存泄露的方法技巧. 关键词:VC++:CRT 调试堆函数: 试探法. 编译环境 VC++6.0 技术原理 检测内存泄漏的主要工具 是调试器和 CRT 调试堆函数.若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h>注意 #include 语句

Android内存泄露总结(附内存检测工具)

Java 中的内存分配 主要是分三块: 静态储存区:编译时就分配好,在程序整个运行期间都存在.它主要存放静态数据和常量. 栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存. 堆区:通常存放 new 出来的对象.由 Java 垃圾回收器回收. 栈与堆的区别 栈内存用来存放局部变量和函数参数等.它是先进后出的队列,进出一一对应,不产生碎片,运行效率稳定高.当超过变量的作用域后,该变量也就无效了,分配给它的内存空间也将被释放掉,该内存空间可以被重新使用. 堆内存用于存

java内存泄露的理解与解决

java内存管理机制 在c++ 语言中,如果需要动态分配一块内存,程序员需 要负责这块内存的整个生命周期.从申请分配.到使用.再到最后的释放.这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导 致内存的泄露. java 语言对内存管理做了自己的优化,这就是垃圾回收机制. java 的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由 gc ( garbage collection)负责自动回收不再使用的内存. 上面是java 内存管理机制的基本情况.但是如

穆客带你快速定位Node.js内存泄露

在7月7日的云栖TechDay活动上,来自阿里云的穆客给大家分享了<如何快速定位Node.js内存泄露>话题.此次分享主要包括Node.js和APM的简单介绍.Node.js内存管理.Node.js内存泄露及其排查过程四个方面. 下面是现场分享观点整理. 大家好,我是来自阿里云的穆客,今天分享的是关于Node.js方面的故障排查.内存泄露的话题. Node.js和APM 很多人应该都知道Node.js,它是一个运行于服务端的基于Chrome V8引擎的 JavaScript 运行环境,Node

查找并修复Android中的内存泄露—OutOfMemoryError

[编者按]本文作者为来自南非约翰内斯堡的女程序员 Rebecca Franks,Rebecca 热衷于安卓开发,拥有4年安卓应用开发经验.有点完美主义者,喜爱美食. 本文系国内ITOM管理平台 OneAPM 编译呈现,以下为正文. Android 程序中很容易出现内存泄露问题.毫无戒心的开发者可能每天都会造成一些内存泄露,却不自知.你可能从未注意过这类错误,或者甚至都不知道它们的存在.直到你遇到下面这样的异常: java.lang.OutOfMemoryError: Failed to allo