Eclipse Memory Analyzer 是一款功能强大的java内存快照的分析工具。
常见的分析方法,在此记录。
jcmd PID Thread.print pid-threadprint.log
jcmd PID GC.heap_dump pid-heapdump.bin
jcmd PID GC.run
线程堆栈:
Thread Stack banktransdetail-async-service-1 at sun.nio.ch.FileDispatcherImpl.read0(Ljava/io/FileDescriptor;JI)I (Native Method) at sun.nio.ch.SocketDispatcher.read(Ljava/io/FileDescriptor;JI)I (SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I (IOUtil.java:223) at sun.nio.ch.IOUtil.read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I (IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(Ljava/nio/ByteBuffer;)I (SocketChannelImpl.java:380) at oracle.net.nt.TimeoutSocketChannel.read(Ljava/nio/ByteBuffer;)I (TimeoutSocketChannel.java:174) at oracle.net.ns.NSProtocolNIO.doSocketRead(I)V (NSProtocolNIO.java:555) at oracle.net.ns.NIOPacket.readHeader()I (NIOPacket.java:258) at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(Z)V (NIOPacket.java:190) at oracle.net.ns.NIOPacket.readFromSocketChannel(ZZ)V (NIOPacket.java:132) at oracle.net.ns.NIOPacket.readFromSocketChannel(Z)V (NIOPacket.java:105) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel()V (NIONSDataChannel.java:91) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall()V (T4CMAREngineNIO.java:764) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1()S (T4CMAREngineNIO.java:429) at oracle.jdbc.driver.T4CTTIfun.receive()V (T4CTTIfun.java:407) at oracle.jdbc.driver.T4CTTIfun.doRPC()V (T4CTTIfun.java:268) at oracle.jdbc.driver.T4C8Oall.doOALL(ZZZZZLoracle/jdbc/internal/OracleStatement$SqlKind;I[BI[Loracle/jdbc/driver/Accessor;I[Loracle/jdbc/driver/Accessor;I[B[C[SILoracle/jdbc/driver/DBConversion;[B[[Ljava/io/InputStream;Loracle/jdbc/driver/OracleStatement;[B[C[S[Loracle/jdbc/driver/T4CTTIoac;[I[I[ILoracle/jdbc/driver/NTFDCNRegistration;Loracle/jdbc/driver/ByteArray;[J[IZ)V (T4C8Oall.java:655) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(ZZZZZI)V (T4CPreparedStatement.java:270) at oracle.jdbc.driver.T4CPreparedStatement.fetch(IZ)V (T4CPreparedStatement.java:1079) at oracle.jdbc.driver.OracleStatement.fetchMoreRows(J)J (OracleStatement.java:3456) at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows()V (InsensitiveScrollableResultSet.java:742) at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(J)Z (InsensitiveScrollableResultSet.java:698) at oracle.jdbc.driver.InsensitiveScrollableResultSet.next()Z (InsensitiveScrollableResultSet.java:412) at com.zaxxer.hikari.pool.HikariProxyResultSet.next()Z (Unknown Source) at org.hibernate.loader.Loader.processResultSet(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List;)Ljava/util/List; (Loader.java:986) at org.hibernate.loader.Loader.doQuery(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:948) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:340) at org.hibernate.loader.Loader.doList(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:2689) at org.hibernate.loader.Loader.doList(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (Loader.java:2672) at org.hibernate.loader.Loader.listIgnoreQueryCache(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (Loader.java:2506) at org.hibernate.loader.Loader.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List; (Loader.java:2501) at org.hibernate.loader.hql.QueryLoader.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (QueryLoader.java:504) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (QueryTranslatorImpl.java:395) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/List; (HQLQueryPlan.java:220) at org.hibernate.internal.SessionImpl.list(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (SessionImpl.java:1508) at org.hibernate.query.internal.AbstractProducedQuery.doList()Ljava/util/List; (AbstractProducedQuery.java:1537) at org.hibernate.query.internal.AbstractProducedQuery.list()Ljava/util/List; (AbstractProducedQuery.java:1505) at org.hibernate.query.Query.getResultList()Ljava/util/List; (Query.java:132) at org.hibernate.query.criteria.internal.compile.CriteriaQueryTypeQueryAdapter.getResultList()Ljava/util/List; (CriteriaQueryTypeQueryAdapter.java:74) at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(Lorg/springframework/data/jpa/repository/query/AbstractJpaQuery;Lorg/springframework/data/jpa/repository/query/JpaParametersParameterAccessor;)Ljava/lang/Object; (JpaQueryExecution.java:126) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(Lorg/springframework/data/jpa/repository/query/AbstractJpaQuery;Lorg/springframework/data/jpa/repository/query/JpaParametersParameterAccessor;)Ljava/lang/Object; (JpaQueryExecution.java:88) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(Lorg/springframework/data/jpa/repository/query/JpaQueryExecution;[Ljava/lang/Object;)Ljava/lang/Object; (AbstractJpaQuery.java:154) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute([Ljava/lang/Object;)Ljava/lang/Object; (AbstractJpaQuery.java:142) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (RepositoryFactorySupport.java:618) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (RepositoryFactorySupport.java:605) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (DefaultMethodInvokingMethodInterceptor.java:80) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionInterceptor$$Lambda$975.proceedWithInvocation()Ljava/lang/Object; (Unknown Source) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(Ljava/lang/reflect/Method;Ljava/lang/Class;Lorg/springframework/transaction/interceptor/TransactionAspectSupport$InvocationCallback;)Ljava/lang/Object; (TransactionAspectSupport.java:353) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (TransactionInterceptor.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (PersistenceExceptionTranslationInterceptor.java:139) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (CrudMethodMetadataPostProcessor.java:149) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (ExposeInvocationInterceptor.java:93) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy1105.findAllByLastModifiedTimeLessThan(Ljava/time/OffsetDateTime;)Ljava/util/List; (Unknown Source) at com.inspur.edp.event.stream.producer.strore.EventLogServiceImpl.syncLog(Lcom/inspur/edp/event/stream/center/api/entity/EventLog;)V (EventLogServiceImpl.java:177) at com.inspur.edp.event.stream.producer.strore.EventLogServiceImpl.addEvent(Lcom/inspur/edp/event/stream/center/api/entity/EventLog;Lcom/inspur/edp/event/stream/domain/CommonEvent;)V (EventLogServiceImpl.java:77) at com.inspur.edp.event.stream.producer.EventProducerService.recordEventlog(Lcom/inspur/edp/event/stream/center/api/entity/EventState;Lcom/inspur/edp/event/stream/domain/CommonEvent;Ljava/time/OffsetDateTime;Ljava/time/OffsetDateTime;Lcom/inspur/edp/event/stream/center/api/entity/BizEvent;)V (EventProducerService.java:309) at com.inspur.edp.event.stream.producer.EventProducerService.process(Lcom/inspur/edp/event/stream/domain/CommonEvent;Ljava/time/OffsetDateTime;)V (EventProducerService.java:157) at com.inspur.edp.event.stream.producer.EventProducerService$1.afterCommit()V (EventProducerService.java:129) at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCommit(Ljava/util/List;)V (TransactionSynchronizationUtils.java:134) at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerAfterCommit()V (TransactionSynchronizationUtils.java:122) at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit(Lorg/springframework/transaction/support/DefaultTransactionStatus;)V (AbstractPlatformTransactionManager.java:946) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(Lorg/springframework/transaction/support/DefaultTransactionStatus;)V (AbstractPlatformTransactionManager.java:783) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(Lorg/springframework/transaction/TransactionStatus;)V (AbstractPlatformTransactionManager.java:712) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(Lorg/springframework/transaction/interceptor/TransactionAspectSupport$TransactionInfo;)V (TransactionAspectSupport.java:619) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(Ljava/lang/reflect/Method;Ljava/lang/Class;Lorg/springframework/transaction/interceptor/TransactionAspectSupport$InvocationCallback;)Ljava/lang/Object; (TransactionAspectSupport.java:372) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (TransactionInterceptor.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed()Ljava/lang/Object; (CglibAopProxy.java:747) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object; (CglibAopProxy.java:689) at com.inspur.edp.bef.core.action.save.LcpSaveAction$$EnhancerBySpringCGLIB$$740d78f0.execute(Lcom/inspur/edp/bef/core/be/BEManager;Lcom/inspur/edp/bef/api/parameter/save/SaveParameter;)V (Unknown Source) at com.inspur.edp.bef.core.lcp.StandardLcp.save(Lcom/inspur/edp/bef/api/parameter/save/SaveParameter;)V (StandardLcp.java:478) at com.inspur.edp.bef.core.lcp.StandardLcp.save()V (StandardLcp.java:470) at com.inspur.gs.bp.bebc.banktransactiondetails.ccmp.GetBankTransDetailScheduler.lambda$null$1(Ljava/lang/Object;Lio/iec/edp/caf/lockservice/api/ILockService;Ljava/lang/String;Ljava/lang/String;Lio/iec/edp/caf/lockservice/api/DataLockOptions;Ljava/lang/String;Ljava/lang/String;Lcom/inspur/edp/bef/api/services/IBefSessionManager;Ljava/util/List;)V (GetBankTransDetailScheduler.java:137) at com.inspur.gs.bp.bebc.banktransactiondetails.ccmp.GetBankTransDetailScheduler$$Lambda$1749.run()V (Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object; (Executors.java:511) at java.util.concurrent.FutureTask.run()V (FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run()V (ThreadPoolExecutor.java:624) at java.lang.Thread.run()V (Thread.java:748)
Thread Stack b1c1ff5f-d5b0-48f9-beff-650fa48a5ad4.CMd649ade4-ff95-43c5-9009-d36a2972c316-1 at sun.nio.ch.FileDispatcherImpl.read0(Ljava/io/FileDescriptor;JI)I (Native Method) at sun.nio.ch.SocketDispatcher.read(Ljava/io/FileDescriptor;JI)I (SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I (IOUtil.java:223) at sun.nio.ch.IOUtil.read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I (IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(Ljava/nio/ByteBuffer;)I (SocketChannelImpl.java:380) at oracle.net.nt.TimeoutSocketChannel.read(Ljava/nio/ByteBuffer;)I (TimeoutSocketChannel.java:174) at oracle.net.ns.NSProtocolNIO.doSocketRead(I)V (NSProtocolNIO.java:555) at oracle.net.ns.NIOPacket.readHeader()I (NIOPacket.java:258) at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(Z)V (NIOPacket.java:190) at oracle.net.ns.NIOPacket.readFromSocketChannel(ZZ)V (NIOPacket.java:132) at oracle.net.ns.NIOPacket.readFromSocketChannel(Z)V (NIOPacket.java:105) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel()V (NIONSDataChannel.java:91) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall()V (T4CMAREngineNIO.java:764) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1()S (T4CMAREngineNIO.java:429) at oracle.jdbc.driver.T4CTTIfun.receive()V (T4CTTIfun.java:407) at oracle.jdbc.driver.T4CTTIfun.doRPC()V (T4CTTIfun.java:268) at oracle.jdbc.driver.T4C8Oall.doOALL(ZZZZZLoracle/jdbc/internal/OracleStatement$SqlKind;I[BI[Loracle/jdbc/driver/Accessor;I[Loracle/jdbc/driver/Accessor;I[B[C[SILoracle/jdbc/driver/DBConversion;[B[[Ljava/io/InputStream;Loracle/jdbc/driver/OracleStatement;[B[C[S[Loracle/jdbc/driver/T4CTTIoac;[I[I[ILoracle/jdbc/driver/NTFDCNRegistration;Loracle/jdbc/driver/ByteArray;[J[IZ)V (T4C8Oall.java:655) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(ZZZZZI)V (T4CPreparedStatement.java:270) at oracle.jdbc.driver.T4CPreparedStatement.fetch(IZ)V (T4CPreparedStatement.java:1079) at oracle.jdbc.driver.OracleStatement.fetchMoreRows(J)J (OracleStatement.java:3456) at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows()V (InsensitiveScrollableResultSet.java:742) at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(J)Z (InsensitiveScrollableResultSet.java:698) at oracle.jdbc.driver.InsensitiveScrollableResultSet.next()Z (InsensitiveScrollableResultSet.java:412) at com.zaxxer.hikari.pool.HikariProxyResultSet.next()Z (Unknown Source) at org.hibernate.loader.Loader.processResultSet(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List;)Ljava/util/List; (Loader.java:986) at org.hibernate.loader.Loader.doQuery(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:948) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:340) at org.hibernate.loader.Loader.doList(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List; (Loader.java:2689) at org.hibernate.loader.Loader.doList(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (Loader.java:2672) at org.hibernate.loader.Loader.listIgnoreQueryCache(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (Loader.java:2506) at org.hibernate.loader.Loader.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List; (Loader.java:2501) at org.hibernate.loader.hql.QueryLoader.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (QueryLoader.java:504) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (QueryTranslatorImpl.java:395) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/List; (HQLQueryPlan.java:220) at org.hibernate.internal.SessionImpl.list(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List; (SessionImpl.java:1508) at org.hibernate.query.internal.AbstractProducedQuery.doList()Ljava/util/List; (AbstractProducedQuery.java:1537) at org.hibernate.query.internal.AbstractProducedQuery.list()Ljava/util/List; (AbstractProducedQuery.java:1505) at org.hibernate.query.Query.getResultList()Ljava/util/List; (Query.java:132) at org.hibernate.query.criteria.internal.compile.CriteriaQueryTypeQueryAdapter.getResultList()Ljava/util/List; (CriteriaQueryTypeQueryAdapter.java:74) at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(Lorg/springframework/data/jpa/repository/query/AbstractJpaQuery;Lorg/springframework/data/jpa/repository/query/JpaParametersParameterAccessor;)Ljava/lang/Object; (JpaQueryExecution.java:126) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(Lorg/springframework/data/jpa/repository/query/AbstractJpaQuery;Lorg/springframework/data/jpa/repository/query/JpaParametersParameterAccessor;)Ljava/lang/Object; (JpaQueryExecution.java:88) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(Lorg/springframework/data/jpa/repository/query/JpaQueryExecution;[Ljava/lang/Object;)Ljava/lang/Object; (AbstractJpaQuery.java:154) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute([Ljava/lang/Object;)Ljava/lang/Object; (AbstractJpaQuery.java:142) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (RepositoryFactorySupport.java:618) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (RepositoryFactorySupport.java:605) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (DefaultMethodInvokingMethodInterceptor.java:80) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionInterceptor$$Lambda$975.proceedWithInvocation()Ljava/lang/Object; (Unknown Source) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(Ljava/lang/reflect/Method;Ljava/lang/Class;Lorg/springframework/transaction/interceptor/TransactionAspectSupport$InvocationCallback;)Ljava/lang/Object; (TransactionAspectSupport.java:353) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (TransactionInterceptor.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (PersistenceExceptionTranslationInterceptor.java:139) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (CrudMethodMetadataPostProcessor.java:149) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; (ExposeInvocationInterceptor.java:93) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object; (ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy1423.findAllByLastModifiedTimeLessThan(Ljava/time/OffsetDateTime;)Ljava/util/List; (Unknown Source) at com.inspur.edp.event.stream.consumer.store.EventHandleLogServiceImpl.addEventHandleLog(Lcom/inspur/edp/event/stream/center/api/entity/EventHandleLog;Lcom/inspur/edp/event/stream/domain/CommonEvent;)V (EventHandleLogServiceImpl.java:69) at com.inspur.edp.event.stream.consumer.EventHandlerActuator.addEventHandleLog(Ljava/lang/String;Lcom/inspur/edp/event/stream/domain/CommonEvent;Ljava/time/OffsetDateTime;Ljava/time/OffsetDateTime;Lcom/inspur/edp/event/stream/center/api/entity/EventSubscriber;)V (EventHandlerActuator.java:526) at com.inspur.edp.event.stream.consumer.EventHandlerActuator.actuator(Lcom/inspur/edp/event/stream/domain/CommonEvent;Ljava/lang/String;Z)V (EventHandlerActuator.java:95) at com.inspur.edp.event.stream.consumer.EventHandler.handleEvent(Lcom/inspur/edp/stream/consumer/dynamic/StreamMessage;)Z (EventHandler.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Method.java:498) at com.inspur.edp.stream.common.utils.ClazzUtil.invokeMethod(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (ClazzUtil.java:73) at com.inspur.edp.stream.common.utils.ClazzUtil.invokeMethod(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; (ClazzUtil.java:28) at com.inspur.edp.stream.common.utils.ClazzUtil.invokeMethod(Lcom/inspur/edp/stream/common/utils/AssemblyCallee;[Ljava/lang/Object;)Ljava/lang/Object; (ClazzUtil.java:17) at com.inspur.edp.stream.consumer.dynamic.MessageStreamConsumer.execute(Lcom/inspur/edp/stream/common/utils/GenericCallee;Lcom/inspur/edp/stream/consumer/dynamic/StreamMessage;)V (MessageStreamConsumer.java:301) at com.inspur.edp.stream.consumer.dynamic.MessageStreamConsumer.process(Lorg/springframework/messaging/Message;Ljava/lang/String;Ljava/lang/String;)V (MessageStreamConsumer.java:240) at com.inspur.edp.stream.consumer.dynamic.MessageStreamConsumer.lambda$subscribe$0(Lorg/springframework/messaging/Message;)V (MessageStreamConsumer.java:59) at com.inspur.edp.stream.consumer.dynamic.MessageStreamConsumer$$Lambda$1668.handleMessage(Lorg/springframework/messaging/Message;)V (Unknown Source) at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(Lorg/springframework/messaging/Message;)Z (AbstractDispatcher.java:115) at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(Lorg/springframework/messaging/Message;)Z (UnicastingDispatcher.java:132) at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(Lorg/springframework/messaging/Message;)Z (UnicastingDispatcher.java:105) at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(Lorg/springframework/messaging/Message;J)Z (AbstractSubscribableChannel.java:73) at org.springframework.integration.channel.AbstractMessageChannel.send(Lorg/springframework/messaging/Message;J)Z (AbstractMessageChannel.java:453) at org.springframework.integration.channel.AbstractMessageChannel.send(Lorg/springframework/messaging/Message;)Z (AbstractMessageChannel.java:401) at org.springframework.messaging.core.GenericMessagingTemplate.doSend(Lorg/springframework/messaging/MessageChannel;Lorg/springframework/messaging/Message;J)V (GenericMessagingTemplate.java:187) at org.springframework.messaging.core.GenericMessagingTemplate.doSend(Lorg/springframework/messaging/MessageChannel;Lorg/springframework/messaging/Message;)V (GenericMessagingTemplate.java:166) at org.springframework.messaging.core.GenericMessagingTemplate.doSend(Ljava/lang/Object;Lorg/springframework/messaging/Message;)V (GenericMessagingTemplate.java:47) at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(Ljava/lang/Object;Lorg/springframework/messaging/Message;)V (AbstractMessageSendingTemplate.java:109) at org.springframework.integration.endpoint.MessageProducerSupport.sendMessage(Lorg/springframework/messaging/Message;)V (MessageProducerSupport.java:205) at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter.access$600(Lorg/springframework/integration/amqp/inbound/AmqpInboundChannelAdapter;Lorg/springframework/messaging/Message;)V (AmqpInboundChannelAdapter.java:61) at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.createAndSend(Lorg/springframework/amqp/core/Message;Lcom/rabbitmq/client/Channel;)V (AmqpInboundChannelAdapter.java:266) at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.onMessage(Lorg/springframework/amqp/core/Message;Lcom/rabbitmq/client/Channel;)V (AmqpInboundChannelAdapter.java:232) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(Lorg/springframework/amqp/rabbit/listener/api/ChannelAwareMessageListener;Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (AbstractMessageListenerContainer.java:1569) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (AbstractMessageListenerContainer.java:1488) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer$$Lambda$1664.invokeListener(Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (Unknown Source) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (AbstractMessageListenerContainer.java:1476) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (AbstractMessageListenerContainer.java:1467) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(Lcom/rabbitmq/client/Channel;Ljava/lang/Object;)V (AbstractMessageListenerContainer.java:1411) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(Lorg/springframework/amqp/rabbit/listener/BlockingQueueConsumer;)Z (SimpleMessageListenerContainer.java:958) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(Lorg/springframework/amqp/rabbit/listener/BlockingQueueConsumer;)Z (SimpleMessageListenerContainer.java:908) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(Lorg/springframework/amqp/rabbit/listener/SimpleMessageListenerContainer;Lorg/springframework/amqp/rabbit/listener/BlockingQueueConsumer;)Z (SimpleMessageListenerContainer.java:81) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop()V (SimpleMessageListenerContainer.java:1279) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run()V (SimpleMessageListenerContainer.java:1185) at java.lang.Thread.run()V (Thread.java:748)
从内存对象数量的直方图,反向查找GCRoot引用。通过GC Roots的线程及引用对象数的统计,可以与线程角度的分析做进一步确认。
定位GC Root有两个方法。
方法1:选中直方图的数据类型,直接merge查找。
方法2:先列出所有对象,然后使用Path to GC Roots。
通过关键堆栈的信息,排查代码发现是没有做筛选条件的过滤及分页,导致DB的累计数据一次加载到应用内存。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步