mysql memory leak,项目在Tomcat中启动出现内存泄露memory leak

Tomcat启动报错信息如下:

严重: Error listenerStart

2018-6-26 12:18:18 org.apache.catalina.core.StandardContext start

严重: Context [/demo] startup failed due to previous errors

2018-6-26 12:18:18 org.quartz.core.QuartzScheduler standby

信息: Scheduler org.springframework.scheduling.quartz.SchedulerFactoryBean#0_$_NON_CLUSTERED paused.

2018-6-26 12:18:18 org.quartz.core.QuartzScheduler shutdown

信息: Scheduler org.springframework.scheduling.quartz.SchedulerFactoryBean#0_$_NON_CLUSTERED shutting down.

2018-6-26 12:18:18 org.quartz.core.QuartzScheduler standby

信息: Scheduler org.springframework.scheduling.quartz.SchedulerFactoryBean#0_$_NON_CLUSTERED paused.

2018-6-26 12:18:18 org.quartz.core.QuartzScheduler shutdown

信息: Scheduler org.springframework.scheduling.quartz.SchedulerFactoryBean#0_$_NON_CLUSTERED shutdown complete.

2018-6-26 12:18:18 org.hibernate.impl.SessionFactoryImpl close

信息: closing

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

严重: The web application [/demo] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-7] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:18 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/demo] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10] but has failed to stop it. This is very likely to create a memory leak.

2018-6-26 12:18:19 org.apache.coyote.http11.Http11AprProtocol start

信息: Starting Coyote HTTP/1.1 on http-20804

2018-6-26 12:18:19 org.apache.coyote.ajp.AjpAprProtocol start

信息: Starting Coyote AJP/1.3 on ajp-20904

2018-6-26 12:18:19 org.apache.catalina.startup.Catalina start

信息: Server startup in 23776 ms

问题描述:

应用程序注册了JDBC驱动,但当程序停止时无法注销这个驱动,tomcat为了防止内存溢出,就给强制注销了

问题根源:

一:真的跟内存有关

1.OutOfMemoryError: Java heap space

2.OutOfMemoryError: PermGen space

3.OutOfMemoryError: unable to create new native thread

这类问题的解决方案是通过设置JAVA_OPTS参数来解决,参考信息如下:

JAVA_OPTS=

-Xms512m

-Xmx512m

-XX:NewSize=256m

-XX:MaxNewSize=256m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-XX:SurvivorRatio=6

……

在上面的例子中:

YOUNG+OLD: 512M

YOUNG: 256M

Perm: 128M

Eden: YOUNG*6/(6+1+1)=192M

Survivor: YOUNG/(6+1+1)=32M

Java堆的总尺寸=YOUNG+OLD+Perm=640M

堆的大小可以使用 java -Xmx***M version 命令来测试。支持的话会出现jdk的版本号,不支持会报错。

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可

二:其他错误所致,看到的仅是一个表象

可查看tomcat的日志文件——localhost.yyyy-MM-dd.log中的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值