0%

java 内存溢出排查

在开发环境把运行内存调小
-XX:NativeMemoryTracking=summary -Xms128m -Xmx128m -XX:MaxDirectMemorySize=64M
让它溢出,根据报错的调用桟确定原因
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3332)
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
    at java.lang.StringBuilder.append(StringBuilder.java:136)
    at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
    at ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:298)
    at ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:208)
    at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:212)
    at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
    at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
    at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
    at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
    at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
    at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
    at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:396)
    at ch.qos.logback.classic.Logger.warn(Logger.java:725)
    at com.to8to.server.db.DefaultConnectionHook.onQueryExecuteTimeLimitExceeded(DefaultConnectionHook.java:97)
    at com.jolbox.bonecp.StatementHandle.queryTimerEnd(StatementHandle.java:280)
    at com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:210)
    at com.shejiben.sync.DmpSync.saveData(DmpSync.java:243)
    at com.shejiben.sync.DmpSync.syncDmpData(DmpSync.java:179)
    at com.shejiben.sync.DmpSync.run(DmpSync.java:104)
    at com.shejiben.sync.DmpSync.main(DmpSync.java:299)

这里是业务代码,
    at com.shejiben.sync.DmpSync.saveData(DmpSync.java:243)
搜索发现
https://blog.csdn.net/ismr_m/article/details/50999917#
忘了close()