tomcat内存溢出问题解决经历
作者:冰湖一角 发布时间:2023-11-02 14:05:42
标签:tomcat,内存,溢出
前一段时间提交了一个产品版本给测试人员测试,测试结果简直出人意料!
测试一段时间后页面就卡死了,当时根据这个现象下意识的怀疑是卡到数据库这一层,然后查看数据库连接相关的参数,如意料之中的相似,连接数太多了!当把数据库连接数解决后,本以为这个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


猜你喜欢
- 有时在博客评论和论坛里看到有朋友说我们写的SEO技巧不够具体,感觉无从下手,这样的问题经常让分享技巧的人也有点无奈,不知道该具体到什么程度。
- 内容摘要:IIS服务器出错的原因是复杂的。象服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS
- 数据中心操作大量的数据。当数据遭到破坏时,这就是一场灾难。这正是定期进行备份的重要性。即使你有大量的备份数据都没有使用,备份也肯定不是在浪费
- 本以为很火星,后来没有发现其他网站谈论此事,所以决定发此新闻:带来的好处我非常喜欢,再也不用搜索时候强迫用鼠标了!说明:J:下K:上O 或
- linux注释crontab文件及crontab执行sh的坑原来,在Linux下写了很多crontab,来定时执行某些任务,现在有以下需求:
- 前言给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5有了一
- 如果在正式环境升级,请做好数据备份以及重要配置备份!因为升级会造成一部分应用被卸载。1.安装epel源yum -y install epel
- 今天有个朋友找我,说他们公司网站服务器不稳定,想从原来服务商转出来,重新找个虚拟主机提供商的,但原来的服务公司不给他他们公司网站的源代码,而
- 博客的未来是什么?很多专业人士都在思考这个问题,不过今天我这里要说的话题不是博客会发展成为什么样子(博客的未来一定是消亡,这是毋庸置疑的),
- “Let’s face it. Some days, you want to just fire your clients.” 这是一个叫J
- 链接广泛度(链接到一个网站的来源链接数目)链接广泛度是一个很重要的因素,为实现在搜索引擎中的最高的排名位置,获得更多的有质量的链接,排名越高
- 在股市行情日益火暴、全民疯狂炒股的今天,许多单位员工在上班期间首要任务已经不是工作,而是上网查询股票信息、在线分析股市行情,作为单位老板肯定
- 这不是Google第一次固执地以自己的意愿代替用户体验了,正如当初搜索引擎结果默认在原窗口打开一样。Google Adsense的广告是在投
- FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵
- 建立CS游戏服务器在CS游戏目录中,找到hlds.exe文件,创立快捷方式。右键单击快捷方式图标,察看快捷方式属性。在“
- Text Link Ads 是一家专门销售博客文字链接的国外联盟,网赚老鸟应该对它并不陌生,很多人靠它很轻松的赚了不少钱,对于网赚新手来说,
- 前言对于开发者来说,安装jdk按理说是非常简单的事,但在linux下安装着实费了我这个一直玩windows的小白不少劲。这里简单把步骤梳理下
- 11个月前深秋的谷歌中国大厦,看着开复刘骏启幕iGoogle,电脑虎脑海中首先想到的是前辈中搜IG,还有几个现在连名称都遗忘的英烈。11个月
- 网易公司今天宣布了截止到2009年12月31日的第四季度及年度未经审计财务业绩。网易2009年第四季度财务业绩收入2009年第四季度总收入1
- 线程分类线程按照其调度者可以分为用户级线程和核心级线程两种。(1)用户级线程 用户级线程主要解决的是上下文切换的问题,它的调度算法和调度过程