精华内容
下载资源
问答
  • 登录服务器查看服务,发现是tomcat自动关闭了。基本是3到4天发生一次。运维人员开始以为是其他服务杀死了tomcat服务,没放在心上,解决方法就是直接重启tomcat。最终捅了篓子,运维人员被客户投诉,扣了一个月绩效...

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

    运维人员开始以为是其他服务杀死了tomcat服务,没放在心上,解决方法就是直接重启tomcat。

    最终捅了篓子,运维人员被客户投诉,扣了一个月的绩效。

    解决这个bug兜兜转转来到了我这里。既然接到任务,那就开干,没有解决不了的bug。

    系统的运行环境如下:
    tomcat6.0
    32位jdk7.0
    window server2003 32位,32G内存。

    查看日志,如果tomcat闪崩,都会在tomcat的bin目录下生成以"hs_err"开头的日志文件。打开最新的日志文件,首先看到的是下面一段话:

    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (malloc) failed to allocate 32756 bytes for ChunkPool::allocate
    # Possible reasons:
    #   The system is out of physical RAM or swap space
    #   In 32 bit mode, the process size limit was hit
    # Possible solutions:
    #   Reduce memory load on the system
    #   Increase physical memory or swap space
    #   Check if swap backing store is full
    #   Use 64 bit Java on a 64 bit OS
    #   Decrease Java heap size (-Xmx/-Xms)
    #   Decrease number of Java threads
    #   Decrease Java thread stack sizes (-Xss)
    #   Set larger code cache with -XX:ReservedCodeCacheSize=
    # This output file may be truncated or incomplete.
    #
    #  Out of Memory Error (allocation.cpp:211), pid=7864, tid=6556
    #
    # JRE version: Java(TM) SE Runtime Environment (7.0_79-b15) (build 1.7.0_79-b15)
    # Java VM: Java HotSpot(TM) Server VM (24.79-b02 mixed mode windows-x86 )
    # Failed to write core dump.

    大概意思就是内存不够了,无法分配32756字节的空间。同时给出几个解决方法:
    1、减少系统内存负载;
    2、增加物理内存或者交换空间;
    3、在64位操作系统上使用64位jdk;
    4、减少java heap大小;
    5、减少java线程数量;
    6、减少java线程堆栈大小。

    通过上面的内容可以得出,jvm无法分配32756 bytes的内存空间。

    从接到任务开始,我一直以为是jvm配置出错,导致内存不够用,只需调整下新生代、老年代的配置即可。

    继续往下看日志文件,找到"GC Heap History (10 events):"这一行,这个记录jvm最后10次垃圾回收时堆的变化情况。

    GC Heap History (10 events):
    Event: 572312.299 GC heap before
    {Heap before GC invocations=5046 (full 357):
     PSYoungGen      total 201472K, used 200685K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 100% used [0x573c0000,0x63540000,0x63540000)
      from space 3328K, 76% used [0x63540000,0x637bb528,0x63880000)
      to   space 3328K, 0% used [0x63880000,0x63880000,0x63bc0000)
     ParOldGen       total 843776K, used 422602K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d872b18,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    Event: 572312.305 GC heap after
    Heap after GC invocations=5046 (full 357):
     PSYoungGen      total 201472K, used 1103K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 0% used [0x573c0000,0x573c0000,0x63540000)
      from space 3328K, 33% used [0x63880000,0x63993c90,0x63bc0000)
      to   space 3328K, 0% used [0x63540000,0x63540000,0x63880000)
     ParOldGen       total 843776K, used 423618K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d970b18,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    }
    Event: 572351.132 GC heap before
    {Heap before GC invocations=5047 (full 357):
     PSYoungGen      total 201472K, used 199247K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 100% used [0x573c0000,0x63540000,0x63540000)
      from space 3328K, 33% used [0x63880000,0x63993c90,0x63bc0000)
      to   space 3328K, 0% used [0x63540000,0x63540000,0x63880000)
     ParOldGen       total 843776K, used 423618K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d970b18,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    Event: 572351.137 GC heap after
    Heap after GC invocations=5047 (full 357):
     PSYoungGen      total 201472K, used 1615K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 0% used [0x573c0000,0x573c0000,0x63540000)
      from space 3328K, 48% used [0x63540000,0x636d3ec8,0x63880000)
      to   space 3328K, 0% used [0x63880000,0x63880000,0x63bc0000)
     ParOldGen       total 843776K, used 423674K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d97eb18,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    }
    Event: 572398.649 GC heap before
    {Heap before GC invocations=5048 (full 357):
     PSYoungGen      total 201472K, used 199759K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 100% used [0x573c0000,0x63540000,0x63540000)
      from space 3328K, 48% used [0x63540000,0x636d3ec8,0x63880000)
      to   space 3328K, 0% used [0x63880000,0x63880000,0x63bc0000)
     ParOldGen       total 843776K, used 423674K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d97eb18,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    Event: 572398.655 GC heap after
    Heap after GC invocations=5048 (full 357):
     PSYoungGen      total 201472K, used 1998K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 0% used [0x573c0000,0x573c0000,0x63540000)
      from space 3328K, 60% used [0x63880000,0x63a73830,0x63bc0000)
      to   space 3328K, 0% used [0x63540000,0x63540000,0x63880000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51848K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62138,0x13bc0000)
    }
    Event: 576881.689 GC heap before
    {Heap before GC invocations=5049 (full 357):
     PSYoungGen      total 201472K, used 200142K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 100% used [0x573c0000,0x63540000,0x63540000)
      from space 3328K, 60% used [0x63880000,0x63a73830,0x63bc0000)
      to   space 3328K, 0% used [0x63540000,0x63540000,0x63880000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51850K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62850,0x13bc0000)
    Event: 576881.696 GC heap after
    Heap after GC invocations=5049 (full 357):
     PSYoungGen      total 201472K, used 3155K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 0% used [0x573c0000,0x573c0000,0x63540000)
      from space 3328K, 94% used [0x63540000,0x63854cb0,0x63880000)
      to   space 3328K, 0% used [0x63880000,0x63880000,0x63bc0000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51850K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e62850,0x13bc0000)
    }
    Event: 580535.452 GC heap before
    {Heap before GC invocations=5050 (full 357):
     PSYoungGen      total 201472K, used 201299K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 198144K, 100% used [0x573c0000,0x63540000,0x63540000)
      from space 3328K, 94% used [0x63540000,0x63854cb0,0x63880000)
      to   space 3328K, 0% used [0x63880000,0x63880000,0x63bc0000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51856K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e64228,0x13bc0000)
    Event: 580535.459 GC heap after
    Heap after GC invocations=5050 (full 357):
     PSYoungGen      total 200960K, used 1858K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 197632K, 0% used [0x573c0000,0x573c0000,0x634c0000)
      from space 3328K, 55% used [0x63880000,0x63a50be0,0x63bc0000)
      to   space 3584K, 0% used [0x634c0000,0x634c0000,0x63840000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51856K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e64228,0x13bc0000)
    }

    看了上面的内容,并没有发现tomcat闪崩是由于老年代,持久代,新生代空间不足引起的。有好几次因为eden区空间使用到100%引起的full gc,但是垃圾回收过后eden区的空间都恢复到正常的水平。

    日志中还记录了tomcat闪崩时heap堆的使用情况:

    Heap
     PSYoungGen      total 200960K, used 95671K [0x573c0000, 0x63bc0000, 0x63bc0000)
      eden space 197632K, 47% used [0x573c0000,0x5cf5d230,0x634c0000)
      from space 3328K, 55% used [0x63880000,0x63a50be0,0x63bc0000)
      to   space 3584K, 0% used [0x634c0000,0x634c0000,0x63840000)
     ParOldGen       total 843776K, used 423703K [0x23bc0000, 0x573c0000, 0x573c0000)
      object space 843776K, 50% used [0x23bc0000,0x3d985cc0,0x573c0000)
     PSPermGen       total 262144K, used 51856K [0x03bc0000, 0x13bc0000, 0x23bc0000)
      object space 262144K, 19% used [0x03bc0000,0x06e64228,0x13bc0000)

    一切都那么正常,同时又那么诡异。

    翻看了之前发生日志,内容都是大同小异。

    重新翻看了几遍日志,这次把重点放在日志中建议的解决方案上:

    #   Reduce memory load on the system
    #   Increase physical memory or swap space
    #   Check if swap backing store is full
    #   Use 64 bit Java on a 64 bit OS
    #   Decrease Java heap size (-Xmx/-Xms)
    #   Decrease number of Java threads
    #   Decrease Java thread stack sizes (-Xss)

    其中下面几个解决方案不采用:

    • Reduce memory load on the system。 系统内存够用,32G的内存,还剩20G没用,无需减少内存。
    • Increase physical memory or swap space。 系统内存够用,32G的内存,还剩20G没用,无需增加物理内存。
    • Use 64 bit Java on a 64 bit OS。 32位操作系统,无法使用64位jdk。

    只剩下下面的三个解决方案了:

    Decrease Java heap size (-Xmx/-Xms)。 heap堆设置过大,就会影响剩余内存。

    Decrease number of Java threads

    Decrease Java thread stack sizes (-Xss)

    而减少java线程的数量,需要修改代码,这个也不实际。

    最后只剩下

    Decrease Java heap size (-Xmx/-Xms)

    Decrease Java thread stack sizes (-Xss)

    这两个解决方案了,就从这里入手,曙光就在前方。

    先看 Decrease Java thread stack sizes (-Xss) 解决方案

    java线程运行也是需要内存空间的,-Xss参数指定每个线程堆栈的大小,为jvm启动的每个线程分配的内存大小。在jdk1.4版本中是256K,JDK1.5及以上版本是1M。

    tomcat jvm的参数设置如下:

    JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -Xmn200M -XX:PermSize=256M -XX:MaxPermSize=512m -XX:SurvivorRatio=1 -Xss256k

    已经通过-Xss设置每个java线程堆栈的大小为256K。

    在java语言里, 当你创建一个线程的时候,虚拟机会在JVM内存创建一个Thread对象同时创建一个操作系统线程,而这个系统线程的内存用的不是JVMMemory,而是系统中剩下的内存(MaxProcessMemory - JVMMemory - ReservedOsMemory)。

    当需要创建线程,而操作系统剩余内存不够分配给一个java线程时,就会报Out of Memory Error的错误。

    由于已经设置通过-Xss设置java线程栈的大小为256K,因此也决定不采用这个解决方案。

    现在只剩 下Decrease Java heap size (-Xmx/-Xms) 这个解决方案了。通过减少堆的大小,而留出足够的内存空间给java线程堆栈使用。

    32位的window操作系统给每个进程分配的内存空间是2G,减去堆的最大容量和PermSize的最大容量,剩下的容量就留给java线程栈使用。

    经过分析代码和之前错误的日志,发现一般在350个线程这样就出现Out of Memory Error的错误。 在出现错误时,heap空间才用了不到40%。因此决定将java heap的从1G减少到768M。

    修改的jvm参数如下:

    JAVA_OPTS=%JAVA_OPTS% -server -Xms768m -Xmx768m -Xmn200M -XX:PermSize=256M -XX:MaxPermSize=512m -XX:SurvivorRatio=1 -Xss256k

    到目前为止,系统已经稳定运行1个月,各个参数指标都在正常范围内。heap使用率最高才70%。

    总结:
    1、经过这次解决bug,加深了对java虚拟机的了解,特别是线程栈,内存堆,持久代,新生代等概念。
    2、一定要仔细阅读日志文件,一步一步排除掉潜在的解决方案。综合系统的运行环境,找出合理的解决方案。

    展开全文
  • secureCRT登陆某个服务器,用shell脚本启动./catalina.sh start,打开日志tail -f catalina.out,此时 手动关闭连接窗口,导致tomcat的服务竟然关闭了,看日志,截图如下: 仔细看图,发现关键字: ...

    secureCRT登陆某个服务器,用shell脚本启动./catalina.sh start,打开日志tail -f catalina.out,此时 手动关闭连接窗口,导致tomcat的服务竟然关闭了,看日志,截图如下:

    仔细看图,发现关键字:

    AbstractProtocol pause、org.apache.catalina.core.StandardService stopInternal、DubboShutdownHook、EventThread shut down很明显不是正常关闭打印的节奏。应该是触发内核操作甚至还挂上了钩子。上网一搜果然有问题:

    shell脚本启动tomcat,Tomcat启动后,当前shell进程并没有退出,而是挂住在tail进程,往终端输出日志内容。这种情况下,如果用户直接关闭ssh终端的窗口(用鼠标或快捷键),则java进程也会退出。而如果先ctrl-c终止test.sh进程,然后再关闭ssh终端的话,则java进程不会退出。

     脚本简化如下:

    #!/bin/bash
    cd /data/server/tomcat/bin/
    ./catalina.sh start
    tail -f /data/server/tomcat/logs/catalina.out
     

    关闭的原因:

       关闭ssh终端窗口时,sshd向下游进程发送SIGHUP
    SIGHUP这个信号导致最终关闭进程,具体流程如下:


    在非交互模式下,shell对java进程设置了
    SIGINT

    SIGQUIT
    信号设置了忽略,但并没有对
    SIGHUP
    信号设为忽略。再看一下当时的进程层级:
    |-sshd(1622)-+-sshd(11681)---sshd(11699)---bash(11700)---test.sh(13285)---tail(13299)


    sshd把
    SIGHUP
    传递给bash进程后,bash会把
    SIGHUP
    传递给它的子进程,并且对于其子进程test.sh,bash还会对test.sh的进程组里的成员都传播一遍
    SIGHUP
    。因为java后台进程从父进程catalina.sh(又是从其父进程test.sh)继承的pgid,所以java进程仍属于test.sh进程组里的成员,收到
    SIGHUP
    后退出。
    解决方案,加入一行 set -m 开启作业模式:

    #!/bin/bash
    set -m  
    cd /home/admin/tt/tomcat/bin/
    ./catalina.sh start
    tail -f /home/admin/tt/tomcat/logs/catalina.out
    此时java后台进程继承父进程catalina.sh的pgid,而catalina.sh不再使用test.sh的进程组,而是自己的pid作为pgid,catalina.sh进程在执行完退出后,java进程挂到了init下,java与test.sh进程就完全脱离关系了,bash也不会再向它发送信号。

     

    ===================

    参考:http://ifeve.com/why-kill-2-cannot-stop-tomcat/
    ————————————————
    版权声明:本文为CSDN博主「FAw67J7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/FAw67J7/article/details/79885836

    展开全文
  • 登录服务器查看服务,发现是tomcat自动关闭了。基本是3到4天发生一次。 运维人员开始以为是其他服务杀死了tomcat服务,没放在心上,解决方法就是直接重启tomcat。 最终捅了篓子,运维人员被客户投诉,扣了一个月...
  • 在这里我方法是关闭访问日志关闭方法为将访问日志的输出在配置文件中注释掉,我服务器是ubuntu,tomcat7是自动安装,打开 /etc/tomcat7下server.xml,注释掉以下配置 <!--<Val...

    有时候一个WEB服务作为接口部署在tomcat下,因为访问很频繁,导致/var/log/tomcat7下的访问日志急剧膨胀,影响服务器的性能。

    在这里我的方法是关闭访问日志,关闭方法为将访问日志的输出在配置文件中注释掉,我的服务器是ubuntu,tomcat7是自动安装的,打开

    /etc/tomcat7下的server.xml,注释掉以下配置

            <!--<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log." suffix=".txt"
                   pattern="%h %l %u %t "%r" %s %b" />-->
    

      重启tomcat7:

    sudo service tomcat7 restart
    

     真的不输出日志了。

     

    不过,有没有一种方法,能控制日志大小的?这样可以输出日志,同时日志文件也不是很大,方便错误的查看

     

     推荐一个自己业余时间开发的网盘搜索引擎,360盘搜www.360panso.com

    转载于:https://www.cnblogs.com/eczhou/p/3598209.html

    展开全文
  • 下午遇到一个神奇问题:secureCRT登陆某个服务器,用shell脚本启动./catalina.shstart,打开日志tail -f catalina.out,此时手动关闭连接窗口,导致tomcat的服务竟然关闭了,看日志,截图如下:仔细看图,发现...

    下午遇到一个神奇的问题:

    secureCRT登陆某个服务器,用shell脚本启动./catalina.shstart,打开日志tail -f catalina.out,此时手动关闭连接窗口,导致tomcat的服务竟然关闭了,看日志,截图如下:

    963d9d772959bcd7f4072e56fe85823f.png

    仔细看图,发现关键字:

    AbstractProtocol pause、org.apache.catalina.core.StandardService stopInternal、DubboShutdownHook、EventThread shut down很明显不是正常关闭打印的节奏。应该是触发内核操作甚至还挂上了钩子。上网一搜果然有问题:

    shell脚本启动tomcat,Tomcat启动后,当前shell进程并没有退出,而是挂住在tail进程,往终端输出日志内容。这种情况下,如果用户直接关闭ssh终端的窗口(用鼠标或快捷键),则java进程也会退出。而如果先ctrl-c终止test.sh进程,然后再关闭ssh终端的话,则java进程不会退出。

    脚本简化如下:

    #!/bin/bash

    cd/data/server/tomcat/bin/./catalina.shstarttail -f /data/server/tomcat/logs/catalina.out

    关闭的原因:

    关闭ssh终端窗口时,sshd向下游进程发送SIGHUP

    SIGHUP这个信号导致最终关闭进程,具体流程如下:

    在非交互模式下,shell对java进程设置了SIGINT,SIGQUIT信号设置了忽略,但并没有对SIGHUP信号设为忽略。再看一下当时的进程层级:

    |-sshd(1622)-+-sshd(11681)---sshd(11699)---bash(11700)---test.sh(13285)---tail(13299)

    sshd把SIGHUP传递给bash进程后,bash会把SIGHUP传递给它的子进程,并且对于其子进程test.sh,bash还会对test.sh的进程组里的成员都传播一遍SIGHUP。因为java后台进程从父进程catalina.sh(又是从其父进程test.sh)继承的pgid,所以java进程仍属于test.sh进程组里的成员,收到SIGHUP后退出。

    解决方案,加入一行 set -m 开启作业模式:

    #!/bin/bash

    set-m

    cd/home/admin/tt/tomcat/bin/./catalina.shstarttail -f /home/admin/tt/tomcat/logs/catalina.out

    此时java后台进程继承父进程catalina.sh的pgid,而catalina.sh不再使用test.sh的进程组,而是自己的pid作为pgid,catalina.sh进程在执行完退出后,java进程挂到了init下,java与test.sh进程就完全脱离关系了,bash也不会再向它发送信号。

    ===================

    参考:http://ifeve.com/why-kill-2-cannot-stop-tomcat/

    展开全文
  • 但是昨天重启一下,然后其中一个tomcat启动不了了,端口没有问题.tomcat换个新还是一样,会关闭.真心找不出问题了啊. 一月 04, 2017 12:45:46 下午 org.apache.catalina.core.ApplicationContext log INFO: ...
  • 最近同事开发一个项目部署上线后用过几天就TOMCAT自动关闭,并且该项目没有开通对外访问。通过阿里云监控台查看,从升级后系统内存占用上升趋势,CPU等信息没有太大变化。 打印服务器日志后发现全是线程日志。...
  • 但是这些服务都无法启动mysql错误日志:0907159:43:23InnoDB:Started;logsequencenumber0436550907159:43:24[Note]C:\ProgramFiles\MySQL...如题。不知道什么地方有问题。刚做系统。但是这些服务都无法启动mysql...
  • jvm crash 最近公司服务器上面出现了这样情况,java进程突然...查看tomcat日志catalina.out显示错误报告为:# A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x0000...
  • 下面是某台tomcat挂后最后打印部分日志。还请大神能提出解决方案!成分感谢! Jul 13, 2016 4:46:52 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8383"] Jul 13, ...
  • Tomcat服务器详解

    2021-03-02 11:19:50
    服务器 Tomcat Tomcat的目录结构 解压下载好的tomcat可以看到如下...logs:这是一个空路径,用来保存Tomcat每次运行后产生的日志。 temp:保存Web应用运行过程中生成的临时文件。 webapps:该路径用于自动部署We..
  • 背景 首先说一下实践项目形式:对外提供API服务,无...项目打包后,部署至Tomcat的webapps目录下,启动Tomcat,发现启动成功后,打印日志(INFO级别,非ERROR): Unregistering JMX-exposed beans on shutdown ...
  • 最近完成一个网站,使用了Spring+Struts2+... 在项目完成后,部署上线,在前几天运转正常,但在昨天,突然发现tomcate服务器会不定时的自动关闭,查看日志,没有发生大错误,但服务器就是莫名其妙的自动关闭了.  仔细查...
  • 文章目录版本选择启动两个tomcat步骤日志乱码问题部署到服务,自动启动挖坑记录 版本选择 windows 系统 (windows 7,windows 10,windows server 2012 r2) tomcat 8.5.7(免安装版本) 启动两个tomcat步骤 1 把tomcat分好...
  • Tomcat每处理一个请求就会在{tomcat_...在tomcat官网上面查看了文档,发现这些日志是为一些第三方分析工具而生成,主要用来记录tomcat处理了哪些请求,请求数量,用户活动信息等等,这些日志并不会被自动清除...
  • 最近公司项目Dev环境要自己维护,为了避免麻烦,写了一个发布脚本,但是发现每次关闭和服务器SSH连接后,Tomcat就意外退出,查看日志发现最后退出有如下几行日志:Nov 10, 2017 2:38:35 PM org.apache.coyote....
  • 2.20秒执行一次,如果对应的tomcat服务崩溃宕机,会自动重启 3.会生成一个日志文件 restart_service.txt 记录宕机重启时间 4.只需要修改checkTomcatServer.bat中_task和_svr,不需要引号 5.会自动生成一个start.bat...
  • 关于在本地Tomcat服务器不能部署war文件,不会产生对应文件夹且查看日志提示***deployWAR Error deploying web application archive***问题? 一、问题经过描述 1、在学习session时,准备测试tomcat服务器关闭会...
  • 最近在研究tomcat注册系统服务自启动问题,以前只是使用安装版,直接安装后,tomcat就成为了系统服务,并且自动启动一个管理窗口,可以控制服务的启动关闭以及日志登记、jvm位置等设置。   但是系统需要多个...
  • docker容器如果没有前台程序运行会认为空闲,自动关闭退出。 最近遇到docker 运行tomcat和redis 容器 tomcat 启动命令要使用 catalina.sh run 来启动 ./catalina.sh run 动态地显示tomcat后台控制台输出...
  • Tomcat(一)

    2018-10-26 10:38:00
    1. 解压后的文件目录结构  bin:存放启动和关闭Tomcat... logs:保存Tomcat运行产生的日志  temp:临时文件  webapps:用于自动部署Web应用,将Web应用复制到该路径下,Tomcat会将该应用自动部署在容器中  ...
  • 当我们使用Eclipse编写代码时候,一般都会使界面最大化,如果这时tomcat服务器处在运行状态,那么当后台有打印内容,比如日志输出,代码程序报错输出时,console就会自动弹出,很不方便。 关闭console自动弹出...
  • tomcat一些小知识点

    2020-09-01 17:14:34
    logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志 temp:保存Web应用运行过程中生成的临时文件 webapps:该路径用于自动部署Web应用,将Web应用复制在该路径下,Tomcat会将该应用自动部署
  • bin 存放启动和关闭tomcat的命令 conf 存放tomcat的配置,所有的tomcat配置均在该目录下 lib 存放tomcat服务器核心类库,需要扩展插件,第三方 logs 空目录,保存日志 temp web应用运行过程中临时文件 webapps...
  • Made with Remarkable!...近日,同事反馈说在搭建jenkins 部署,在打包完成,执行自动部署时,执行server tomcat shutdown.sh 后,tomcat 进程未关闭,资源未得到释放,日志输出如下: 警告: The ...
  • 2.1 Tomcat 基本使用

    2011-06-08 13:42:00
    1. 文件结构bin - 存放启动和关闭Tomcat的命令的路径conf - 存放Tomcat的配置lib - 存放Tomcat服务器的核心类库(JAR文件)logs - 这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志temp - 保存web应用过程...
  • 部署服务同时启动两个或多个tomcat一个可以运行,另一个启动到一半自动关闭,查看log中的日志报错如下: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0...
  • 首先在linux系统下前台运行jar包和window上一样 java -jar demo-0.0.1-SNAPSHOT....当执行完这个命令后,在你运行包当前目录下会同时生成一个nohup.out输出日志文件,用于记录项目运行时所有日志。 你也可以

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

tomcat服务自动关闭的日志