精华内容
下载资源
问答
  • linux上tomcat服务器突然掉了,查看catalina.out没有发现什么错误信息。 查看/var/log/messages文件发现是因为内存不足系统杀死的 kernel: Out of memory: Kill process 15983 (java) score 149 or sacrifice ...

    linux上tomcat服务器突然挂掉了,查看catalina.out没有发现什么错误信息。
    查看/var/log/messages文件发现是因为内存不足系统杀死的
    kernel: Out of memory: Kill process 15983 (java) score 149 or sacrifice child
    linux 系统内存满了自动杀了不受保护的线程
    需要将Java进程加入到受保护的进程里

    展开全文
  • tomcat自动

    千次阅读 2019-10-06 11:30:10
    1,并发用户数目过大,也会导致tomcat自动停止服务。 (95%) 解决方案:尝试加大JVM的内存大小,修改./tomcat/bin/ catalina.sh,加入: JAVA_OPTS="-server-Xms4096m -Xmx4096m -Xmn512m -XX:PermSize=1024M -XX:...

    可能的原因

    1,并发用户数目过大,也会导致tomcat自动停止服务。 (95%)
    解决方案:尝试加大JVM的内存大小,修改./tomcat/bin/ catalina.sh,加入:
    JAVA_OPTS="-server-Xms4096m -Xmx4096m -Xmn512m -XX:PermSize=1024M -XX:MaxPermSize=2048m -Xss1024k-XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=20 -XX:+UseParNewGC-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=73-XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled-XX:CMSFullGCsBeforeCompaction=2 -Djava.awt.headless=true"
    2,系统本身的网络负载平衡没有做好,导致tomcat自动停止服务;

    3,程序迭代不合理也是一个原因;

    4,数据库连接未关闭,导致资源损耗过重,会引起服务停止;

    5,程序严重错误,也会引起tomcat停止服务!

    6,数据库8小时内没有连接,会断了,由此导致的程序跟着一起断了

    7,server.xml文件中修改最大时间,这是tomcat8的一个bug,不改就会断了。可以选择换版本,也可以选择修改配置。
    bug:

    07-Dec-2016 16:03:57.210 信息 [http-nio-8080-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header  
     Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.  
     java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens  
        at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:462)  
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)  
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)  
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)  
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)  
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)  
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
        at java.lang.Thread.run(Thread.java:745)  
    

    解决方案:server.xml中添加配置属性

    <Connector port="8080" protocol="HTTP/1.1"  
      maxHttpHeaderSize="8192"   
                           connectionTimeout="20000"  
      maxThreads="150"  
      maxSpareThreads="75"  
               redirectPort="8443" />  
    
    1. 版本导致的头文件错误:
      https://www.cnblogs.com/congcongdi/p/11504751.html
    展开全文
  • 最近生产环境服务器突然掉,检查tomcat日志发现报了大量的ava.lang.IllegalStateException: getWriter() has already been called for this response错误。 这个错误,很明显是在一次请求中同时使用了...

    最近生产环境服务器突然挂掉,检查tomcat日志发现报了大量的ava.lang.IllegalStateException: getWriter() has already been called for this response错误。

     

    这个错误,很明显是在一次请求中同时使用了getOutputStream()和getWriter()导致,立即检查代码,发现确实在自定义的LogUploadAsyncServle.java中显示的调用了getWriter(),

    但是代码中并没有调用getOutputStream(),这就很奇怪了报错的UploadRest和LogUploadAsyncServle不是一个请求

    随之几个问题就冒出来了

    1. getOutputStream()是在什么地方调用的?
    2. UploadRest和LogUploadAsyncServle为什么会相互影响?
    3. 该问题如何导致服务器挂掉?

     

    继续浏览日志发现,竟然是第三方插件cxf调用的getOutputStream()。那么根据现有信息初步可以判定是因为自定义LogUploadAsyncServle中的getWriter()调用没有关闭,影响了cxf调用getOutputStream。

    那么对于两个完全不相连的逻辑(cxf实现的UploadRest接口和自定义的LogUploadAsyncServle)是如何相互影响的,研究代码发现Apache CXF的实现是自定义了CXFServlet类,继承了javax.servlet.http.HttpServlet。我们自定义的LogUploadAsyncServle类也是继承了HttpServlet,而且都是在一个war包中,考虑到HttpServlet的特点,那么从这个父类这个层面考虑,真的有可能LogUploadAsyncServle与UploadRest相互影响了。

             既然相互会产生影响,根据错误日志那么肯定是LogUploadAsyncServle中含有未关闭的调用了getWriter()的请求。继续研究代码发现,是采用了AsyncContext异步关闭请求的方式,在关闭请求调用asyncContext.complete()超时后在监听器中又调用了getWriter(); 导致请求关闭彻底异常。猜测由于这个请求非常的频繁,很快的占用了所有的tomcat开启的请求池,导致新来的UploadRest请求不停的报 getWriter() has already been called for this response错误

         分析到这里,服务器挂掉的大致原因就清楚了,应该tomcat存在大量的未关闭的请求,并且还有源源不断的请求进来,大量的资源没有释放,引起了tomcat挂掉。

    展开全文
  • QUESTION:服务器上的Linux中Tomcat有时会掉的问题及方法? 目录 QUESTION:服务器上的Linux中Tomcat有时会掉的问题及方法? ANSWER: 一、内存不足 二、服务器内存不足 三、解决方法 3.1Tomcat内存优化 ...

    QUESTION:服务器上的Linux中Tomcat有时会挂掉的问题及方法?

     

    目录

    QUESTION:服务器上的Linux中Tomcat有时会挂掉的问题及方法?

    ANSWER:

    一、内存不足

    二、服务器内存不足

    三、解决方法

    3.1Tomcat内存优化

    3.2代码优化内存泄漏


    ANSWER:

     

    正在启动的tomcat服务器,突然间挂掉,有时运行的好好的,分析了以下原因:

    一、内存不足

     

    本博主是在阿里云购买的云服务器,2G运行内存,开启了apache、tomcat服务器,剩余内存不足。

    在开发当中,当一个项目比较大时,依赖的jar包通常比较多,我们都知道,在应用服务器启动时,会将应用引用到的所有类通过ClassLoader依次全部加载到内存当中。Java的逻辑内存模型大致分为堆内存栈内存静态内存区,也称持久区,该区的内存不会被GC回收堆内存用于存储类的实例、数组等引用类型数据,也就是用new生成的对象,都存放在这里,栈内存存储局部变量(如:方法参数)静态内存区存储常量、静态变量、类元数据信息(方法、属性等)。开发当中常遇到的三类内存溢出异常:

    • java.lang.OutOfMemoryError: Java heap space异常 
      表示堆内存空间满了,如果不是程序逻辑的bug,可能是因为项目中引用的jar比较多,导到内存溢出。JVM默认堆的最小使用内存为物理内存的1/64,最大使用内存为物理内存的1/4,如8G的物理内存,JVM默认堆的最小和最大内存分别为128m和2048m。通过调整JVM的-Xms(初始内存)和-Xmx(最大内存)两个参数加大内存使用限制。
    • java.lang.OutOfMemoryError: PermGen space异常 
      表示静态内存区满了,通常是由于加载的类过多导致。jdk8以下版本通过修改JVM的-XX:PermSize和-XX:MaxPermSize两个参数,限制静态区最小和最大内存范围。jdk8改变了内存模型,将类定义存放到了元数据(MetaspaceSize)空间,而元数据空间是与堆空间共享同一块内存区域的,所以在JDK8以后版本不会存在PermGen space异常了,故不用设置此参数。
    • java.lang.StackOverflowError异常 
      表示栈内存溢出。通常是由于死循环、无限递归导致。

    系统会检测内存,如果内存占用过大,会自动清理进程。

     

    二、服务器内存不足

    主要配置Tomcat能处理的请求数,当一个进程的线程数超过500个的话,那么这个进程的运行效率就很低了。表面上看线程越多处理的请求越多,其实过多的线程会占用CPU在不同线程之间切换的资源,导致CPU在每个线程上处理的时间片极期有限,反而会降低服务器的响应性能。

     

    三、解决方法

    执行以下代码:

    vim /var/log/messages

     

    出现如图所示,就说明内存机制自动清除tomcat进程。内存不足产生溢出。 

     

    查看被kill的进程:

    grep Kill /var/log/message*
    

    3.1Tomcat内存优化

     

    修改Tomcat的内存配置,打开$TOMCAT_HOME/bin/catalina.sh文件(Windows系统是catalina.bat文件),大楖在250行左右,在JAVA_OPTS参数上添加内存参数设置即可。完整的JVM参数设置如下所示:

    JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"

    -server参数表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多。不加这个参数,默认是以客户端模式启动。 

    -Xms–Xmx JVM内存设置,建议设置成同一个值,可以在命令行中使用 java -Xmx1500m -version 来测试当前服务器可以设置的最大内存。(-Xmx 的值太大时,JVM 无法启动)。

    -Xmn 年轻代 整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m。

    -Xss 是指设定每个线程的堆栈大小。一般不超过 1M。

     

    3.2代码优化内存泄漏

    通常是ThreadLocal方法出现内存泄漏,优化自己的功能。

     

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • tomcat服务莫名其妙停止

    千次阅读 2018-11-30 10:09:18
    此时强制关闭xshell,再登录xshell,使用grep查看运行的tomcat,发现tomcat依然运行。 2.使用命令:sh bin/startup.sh & tail -f logs/catalina.out 启动并查看日志 此时强制关闭xshell,再登录xshell,使用grep...
  • 【爬坑!】tomcat服务莫名其妙停止

    千次阅读 2019-02-27 15:45:55
    此时强制关闭xshell,再登录xshell,使用grep查看运行的tomcat,发现tomcat依然运行。 2.使用命令:sh bin/startup.sh & tail -f logs/catalina.out 启动并查看日志 此时强制关闭xshell,再登录xshell,使用grep...
  • tomcat突然宕机问题解决方案

    千次阅读 2020-01-16 17:24:39
    一.tomcat突然宕机时间 2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。 二.问题定位 1.排查tomcat的启停日志。在文件tomcat/logs/localhost.xxxx.log,排查tomcat的启停日志...
  • tomcat日志无输出意外停止问题分析

    千次阅读 2018-11-15 18:00:00
    节前某个部门的测试环境反馈tomcat会意外退出,我们到实际环境排查后发现不是jvm crash,日志里有进程销毁的记录,从pause到destory的整个过程: org.apache.coyote.AbstractProtocol pause Pausing ProtocolHandler...
  • 问题:tomcat在运行过程中会莫名掉,表现如被Killed -9,系统中没有任何日志(命令行无Kill指令记录、/var/log/message中无OOM Killer日志、项目本地目录无core dump日志、无java crash日志、应用中记录了eixt操作...
  • 如果设置-1表示无限等待(默认为无限,调整为60000ms,避免因线程池不够用,而导致请求被无限制起) poolPreparedStatements:开启池的prepared(默认是false,未调整,经过测试,开启后的性能没有关闭的好。) ...
  • # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (javaCalls.cpp:51), pid=23868, tid=0x0000000000004e9c # guarantee(thread->is_Java_thread()) failed: crucial ...
  • 今天又碰到了,因为没有做监控,服务了也不知道,刚开始还以为是服务器被谁攻击了,三天两头掉,今天查了一下,发现是系统内存太满,自动把tomcat进程给杀死的! 执行vim /var/log/messages即可看到如下信息...
  • 17/12/03 19:40:00 INFO config.AbstractConfig: [DUBBO] Run shutdown hook now., dubbo version: 2.5.3, current host: 172.31.10.48 ...Dec 03, 2017 7:40:00 PM org.apache.coyote.AbstractProtocol pause ...
  • 公司的服务莫名其妙了,刚开始还以为是服务器被谁攻击了,启动没多久又掉,查了一下,发现是系统内存太满,自动把tomcat进程给杀死的! 都是常见的 Out of memory 问题。这通常是因为某时刻应用程序大量请求...
  • 准生产上的项目太长时间没人动他,昨天发现莫名其妙了,同事手动起来tomcat和dubbo服务,今天联通那边说 接口调不通,不得不今天来排查看看什么原因。初步排查 是tomcat里日志文件太大。 随着项目的运行,...
  • Tomcat突然宕机问题的解决

    千次阅读 2005-06-18 17:33:00
    Tomcat启动时出现问题怎么办?如果我们能得到更详细的错误信息就能能更好的定位及判断。 可是,我们在win窗口中双击startup文件启动tomcat时,如果出现Tomcat突然宕机的情况(或不正规的操作而直接关闭Dos窗口的情况...
  • 一直到刚刚,我发现每次它掉之后,我重启之前。都会有这么一行日志记录。 ``` 2017-05-23 05:35:32.174 [http-bio-8200-exec-118] DEBUG ...... # [ timer expired, abort... ] May 23, 2017 9:20:43 AM org....
  • 运行在 windows2008 的 tomcat服务过一段段时间tomcat就会自动停止服务 不知道那个log有用 就都放桑过来了 catalina.2015-07-16.log 2015-7-16 9:35:32 org.apache.catalina.core.AprLifecycleListener init 信息: ...
  • Tomcat无缘无故停止

    万次阅读 2019-06-14 17:57:34
    最近遇到个问题,有个线上的tomcat总是运行一会儿就自动停止了,莫名其妙的没有任何报错。 在网上搜了一下,发现是跟这篇文章同样的一个原因 ...
  • tomcat的进程还在,但是网站访问不了。重启了tomcat后可以访问了。不知道什么原因啊!
  • Linux下部署tomcat+mysql服务器 第一次在Linux服务器上部署项目,把我部署的过程和其中遇到的坑记录下来。 Linux下部署tomcatmysql服务器 准备 vpn创建连接Linux服务器连接工具XShellWinSCP文件...
  • tomcat 自动拉起脚本

    千次阅读 2018-07-17 19:57:20
    项目上线之后,tomcat服务器有时候会莫名其妙掉,利用shell写一个看门狗程序,监测tomcat异常关闭后,重启服务器。   1:新建脚本文件,赋予权限 touch start.sh chmod 755 start.sh 2:编写脚本文件 #...
  • 昨天晚上服务器莫名其妙掉了,今天早上来了后,紧紧张张的改,第一次弄这个东西,又去网上找资料,很多人说的方法都差不多,但模棱两可,而且没有具体的解决步骤,真是坑坑坑。领导又一次催促了,我也很着急啊。...
  • ======================================================...linux上的tomcat中部署了一个web服务, 时好时坏,经常上午启动,下午就无法访问。 总是莫名其妙的宕机。 =========================================...
  • 一次线上tomcat假死问题排查

    千次阅读 2018-07-11 22:50:47
    发现一个问题,总是有个一个tomcat莫名其妙的假死,通过ip访问服务一直无响应。1、查看磁盘、内存等信息:查看服务器基本信息,没有发现异常。2、查看链接数:$ netstat -natp | awk '{print $6}' | sort | uniq -c ...
  •  由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站.  那么为了解决这种情况,那么我们就要申请SSL证书,并且配置...
  • 买了一个阿里云服务器,windows server2012的,选择从市场上安装了第三方提供的免费镜像(mySQL+tomcat+java),从昨天晚上弄到现在,各种踩坑,本来是很容易的事情一直出现一些莫名其妙的bug。如果您也是从阿里云...
  • linux监测tomcat服务

    千次阅读 2018-07-19 14:35:02
    项目上线之后,tomcat服务器有时候会莫名其妙掉,利用shell写一个看门狗程序,监测tomcat异常关闭后,重启服务器。   1:新建脚本文件,赋予权限   touch start.sh chmod 755 start.sh 2:...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 352
精华内容 140
关键字:

tomcat莫名其妙挂了