测试方法:

1.狂点抽取大量数据的接口

结果:

jvm里面的现成崩溃。导致tomcat错误。

思路:

最近发现tomcat老是自动关闭,开始也发现了,不过没放在心上,直到今天,请求一提交到服务器,tomcat就死了

错误排查

tomcat自动关闭的原因很多,不一定是内存溢出,网上查到原因:
1.并发用户数目过大,也会导致tomcat自动停止服务
2.系统本身的网络负载平衡没有做好,导致tomcat自动停止服务
3.程序迭代不合理也是一个原因
4.数据库连接未关闭,导致资源损耗过重,会引起服务停止
5.程序严重错误,也会引起tomcat停止服务

没错,以上情况我都不是
接下来就是看日志了,报错看日志是常识了

1.首先看tomcat的bin目录下的logs文件夹的日志,日期排序,看当天的就行了,如果有错误信息,先解决了再说

2.看tomcat的bin目录下面,有没有hs_err_pidxxxx.log 之类的文件,如果没有,你可以不看下面的内容了,如果有,恭喜你,内存溢出了

解决方案

1.既然是内存溢出,就先看看自己服务器的配置,是不是服务器内存不够用了,尽量把没用的进程停止了

2.去tomcat的bin下面有个catalina.bat的批处理文件,用notepad++打开文件,
全文搜索

%CATALINA_OPTS%

替换成

-Xmx128m -Xms64m -Xmn32m -Xss16m

一共有四处需要替换的地方
然后启动tomcat

3.可能以上情况不行,接下来就是检查你的运行环境了,运行环境也是有影响的
cmd命令窗口输入:java -version
看看版本显示是否正常

如果不是图片中的提示,版本号无所谓,就需要看看你jdk的环境变量对不对了
简单教程环境变量配置
a.
b.
如果环境变量没问题,继续

4.以上情况都不行的话,建议更换tomcat版本
推荐tomcat7090以上
tomcat官网下载
如图下载需要的版本即可

安装tomcat,打包部署,启动tomcat

5.如果以上还是不行
a.可以在本地把项目打包出来
运行环境直接copy出来即可,路径下如图

wtpwebapps文件夹里面就是你运行的项目,不要剪切,不然你的本地代码也没了(哥就吃过这个亏,当天的代码全没了,但是我每天都会备份数据)
b.然后自己放到自己刚才下载的tomcat里面(这只是我的排错方式,当本地环境和服务器环境一样,看本地是否还报错)
如果发现本地不报错,那就是服务器的问题了
可能是你服务器配置雀实太低了,让老板加钱升级吧
推荐环境:jdk1.8,tomcat7090
ps:高版本的tomcat用jdk1.8

http://aodeng.cc:8886/archives/tomca

解决方法:

1.更换jdk版本 不要用32位的(最高支持3.7g)  用64位的。

2.初始2G,最大6G,方法区256最大,初始128。

8g内存 推荐配置参数:

windows::::::set JAVA_OPTS=-server -Xms2048m -Xmx6000m -XX:MaxNewSize=512m -XX:MaxPermSize=512m

linux  注意一定要带引号::::::::::set JAVA_OPTS="-Xms2048m -Xmx6000m -Xss1024K -XX:MaxNewSize=512m  -XX:MaxPermSize=512m" 

tomcat自动关闭了。的更多相关文章

  1. shell 脚本解压war包+备份+tomcat自动关闭+启动

    公司的开发环境每次替换war包时候,老是需要重新上传并且手动解压,然后再去重启tomcat.觉得这样子太麻烦了,于是写了一个shell脚本,自动解压+备份+tomcat自动关闭+启动.代码如下: #关 ...

  2. 记一次解决tomcat自动关闭的bug

    最近一个运行了4年的javaee web项目,经常接到客户反馈系统无法打开.登录服务器查看服务,发现是tomcat自动关闭了.基本是3到4天发生一次. 运维人员开始以为是其他服务杀死了tomcat服务 ...

  3. 记一次TOMCAT一段时间自动关闭

    最近同事开发的一个项目部署上线后用过几天就TOMCAT自动关闭,并且该项目没有开通对外访问.通过阿里云监控台查看,从升级后系统内存占用上升趋势,CPU等信息没有太大变化. 打印服务器日志后发现全是线程 ...

  4. jenkins 通过shell启动tomcat会随着job完成而被自动关闭的解决方法

    jenkins 通过shell启动tomcat会随着job完成而被自动关闭的解决方法 填入BUILD_ID=随便填什么 原理是:我不知道

  5. secureCRT关闭连接自动关闭tomcat服务

    下午遇到一个神奇的问题: secureCRT登陆某个服务器,用shell脚本启动./catalina.sh start,打开日志tail -f catalina.out,此时 手动关闭连接窗口,导致t ...

  6. tomcat启动后过一会就自动关闭

    1.打开tomcat 下的log查看关键字眼 常见问题就是端口被占用,被idea 页面启动占用了

  7. Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unregistered.

    1. Tomcat 错误日志 tail -100f tomcat9/logs/catalina.out 21-Sep-2017 23:05:39.301 INFO [Thread-5] org.apa ...

  8. springboot项目启动后tomcat服务器自动关闭 解决方法

    需要在pom.xml中添加 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  9. Tomcat的设定

    tomcat 版本  apache-tomcat-7.0.68-windows-x64 1.解压文件到 eclipse文件夹中,这个放哪都可以,个人习惯而已 2.tomcat目录结构 图片为盗图- 3 ...

随机推荐

  1. keras图像预处理-ImageDataGenerator

    相关参数描述:http://keras-cn.readthedocs.io/en/latest/preprocessing/image/其中validation_split参数(官方上使用方法未描述) ...

  2. ID3、C4.5和cart算法比较(转)

    转自:https://www.zhihu.com/question/27205203

  3. jquery clone 获取文本框值得问题

    1 clone 出来的文本框 默认不会把原来的事件也带过去 如果使用 $("#").clone(true);   true  可以将原来的事件带过去 获取文本框的值 可以使用事件 ...

  4. 前后端分离 开发环境通过CORS实现跨域联调

    通过JSONP实现跨域已是老生常谈,JSONP跨域限制多,最近了解了一下CORS. 参考: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Acce ...

  5. Oracle Client安装报错

    Oracle Client安装报错:引用数据不可用于验证此操作系统分发的先决条件 http://tunps.com/p/11797.html 原因是Oracle Client 11g版本不支持最新的W ...

  6. 配置MySQL 5.6的主从复制

    工具/原料   Windows 7 64位 MySQL 5.6 配置新数据库的主从复制   1 先在主数据库中创建新数据库rep_test. 然后编辑主数据库的my.ini文件 在[mysqld]节点 ...

  7. ECMAScript6新特性之Array API

    一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [und ...

  8. django的数据库操作回顾

    补充一个filter中大于小于的用法 models.course_info.objects.filter(id__gte=30).delete() _exact 精确等于 like 'aaa' __i ...

  9. 分割回文串 · Palindrome Partitioning

    [抄题]: 给定一个字符串s,将s分割成一些子串,使每个子串都是回文串. 返回s所有可能的回文串分割方案. 给出 s = "aab",返回 [ ["aa", & ...

  10. 利用委托机制处理.NET中的异常

    WinForm代码 private void button1_Click(object sender, EventArgs e) { try { Convert.ToInt32("abcd& ...