tomcat内存溢出问题解决经历
作者:冰湖一角 时间:2023-11-02 14:05:42
前一段时间提交了一个产品版本给测试人员测试,测试结果简直出人意料!
测试一段时间后页面就卡死了,当时根据这个现象下意识的怀疑是卡到数据库这一层,然后查看数据库连接相关的参数,如意料之中的相似,连接数太多了!当把数据库连接数解决后,本以为这个bug解决了,但是...
测试一段时间后页面又卡死了!!!
打开任务管理器,发现tomcat内存超过了1.5G,而且tomcat关不掉!是什么原因导致的呢?左思右想之后,想到了一个可能会导致tomcat内存上涨的点,那就是多线程,然后翻代码找线程池的配置,发现也没什么可疑之处。
那就先解决下tomcat关不掉的问题吧,百度...检查代码...几十分钟后找到了,在tomcat * 的销毁方法(contextDestroyed)里没有关闭线程池,这种情况下,由于线程池没法关闭,进而导致tomcat无法关闭的问题。
将代码改为:
public class InitListener implements ServletContextListener{
private Logger logger = Logger.getLogger(InitListener.class);
@Override
public void contextInitialized(ServletContextEvent sce) {
logger.info("启动tomcat");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
logger.info("关闭tomcat,关闭线程池");
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");
ThreadPoolTaskExecutor myTaskExecutor = (ThreadPoolTaskExecutor) classPathXmlApplicationContext.getBean("myTaskExecutor");
myTaskExecutor.shutdown();
}
}
来源:https://www.cnblogs.com/bingyimeiling/p/11505844.html
标签:tomcat,内存,溢出
0
投稿
猜你喜欢
7月份IE全球份额继续反弹 火狐Chrome皆下滑
2010-08-02 12:31:00
Linux Socket 编程简介和实现
2023-07-27 05:50:09
Windows Server 2008 R2的八大优势
2009-05-27 14:44:00
Godaddy的Linux虚拟主机JSP/Java的相关信息(Tomcat/JDK版本等) G
2010-05-07 12:57:00
“活着”和“不违背价值观”
2010-03-24 12:01:00
快速分辨欺诈paypal
2009-03-30 17:30:00
盛大游戏宣布最新网游《通灵王》即将上市
2009-11-18 11:44:00
如何使用代理服务器
2010-01-17 10:22:00
Ubuntu删除多余内核的方法
2023-07-04 14:55:21
优酷在京发布优酷指数 艾瑞提供数据支持
2009-11-13 11:23:00
正确管理SNS:让网站逃过反低俗整治一劫
2009-02-20 15:52:00
linux用户组以及权限总结
2023-07-13 14:16:43
Linux jdk安装及环境变量配置教程(jdk-8u144-linux-x64.tar.gz)
2023-08-05 21:11:16
浅谈SEO分词技术中复合名词
2010-07-31 18:43:00
实现dedecms图集单击图片翻页的功能
2009-02-19 20:41:00
Facebook及Zynga等或因欺骗性广告面临集体诉讼
2009-11-13 17:03:00
教你一招 小流量网站站长照样赚钱
2009-09-25 09:40:00
苹果2010年将新开50家专卖店 上海增两家
2009-11-13 09:41:00
在Apache服务器上添加虚拟主机功能的方法
2021-04-17 07:12:29
一分钟掌握linux系统目录结构
2023-10-05 21:34:38