精华内容
下载资源
问答
  • tomcat崩溃自启动

    2016-01-23 11:04:08
    脚本实现了在windows下,如果tomcat异常退出服务,脚本则会重新启动他
  • Tomcat崩溃,无法访问

    2021-01-14 08:23:07
    Tomcat 在Linux上,使用Hibernate,MySql。网站运行正常,可是过一天或两天,网站就连接不上,有的时候网站运行几个星期都没有事,访问量并不大啊。很郁闷,不知道是那个地方出了问题。Tomcat设置最大连接数1000,...

    Tomcat 在Linux上,使用Hibernate,MySql。网站运行正常,可是过一天或两天,网站就连接不上,有的时候网站运行几个星期都没有事,访问量并不

    大啊。很郁闷,不知道是那个地方出了问题。

    Tomcat设置最大连接数

    1000,MySql设置最大连接数500,CATALINA_OPTS配置512M 1024M。

    这些应该都没有问题,用Top查看cpu情况,也没有异常。

    通过http://loclahost/manager/status 发现tomcat的当前连接数并没有超过最大连接数,但是发现几个连接一直处于连接状态,时间比较长。在网站上进行访问时,发现只要不使用数据库,单纯访

    问个页面没有问题,难道是数据连接有问题?

    这些连接的进程应该是等待的进程

    吧。那等待什么呢?我索性模拟 200个并发用户访问网站试试。发现问题肯定是出在数据库读取数据上,由于数据库处理请求有一定的数量控制,请求太多的话肯定要是要排队的。要是能及时处

    理掉这些请求的话,那应该就能够解决问题。

    想来想去,是不是c3p0设置有问题,检查,我把hibernate.c3p0.timeout设置成了1200,改成60试试,果然,问题解决

    了。

    最近有发现

    问题,原来主要的问题可能是MySql,hibernate中配置mysql连接池可能是100,由于mysql自动释放关闭连接池的时间是8个小时,如

    果hibernate中mysql连接池设置的数值多大,将会有很多连接池是sleep状态,由于开的进程过多,将严重影响性能。所以可以将my.cnf

    中的wait_timeout=28800值改小一些。

    展开全文
  • 当前的生产环境使用的是tomcat8.5,JDK8,在一次更新后每隔3 5天就会导致tomcat崩溃,服务器无法访问。查看系统日志是内存溢出,记得更新时只是更改了DLL动态链接库,打开源码发现里面在调试时加了几个printf打印调试...

    当前的生产环境使用的是tomcat8.5,JDK8,在一次更新后每隔3 5天就会导致tomcat崩溃,服务器无法访问。查看系统日志是内存溢出,记得更新时只是更改了DLL动态链接库,打开源码发现里面在调试时加了几个printf打印调试内容,DLL内的打印内容并不能在服务器运行时被打印出来,在每次关闭服务器之前被打印,时间长了内存区被占满无法被JAVA垃圾回收,注释掉C源码中的打印解决问题。

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201806/11/1528681132_329584.png) ![图片说明](https://img-ask.csdn.net/upload/201806/11/1528681179_154913.png)![图片说明]...
  • 代码打了全量war包,放到服务器上后,重启...网上的原因和解决方法很多,有的是tomcat的版本不对,最多的是Catalina中缺少文件,但检查过后,以上问题都不存在,没办法只能把UAT的tomcat搞过来,然后就成功启动了 ...

    代码打了全量war包,放到服务器上后,重启tomcat,发现报错,

    org.apache.catalina.startup.Catalina.start 
    

    网上的原因和解决方法很多,有的是tomcat的版本不对,最多的是Catalina中缺少文件,但检查过后,以上问题都不存在,没办法只能把UAT的tomcat搞过来,然后就成功启动了

    展开全文
  • 因为在原来服务器上就出现了tomcat崩溃,也不知道因为什么原因崩溃,多长时间崩溃。而且也没注意有pid.log文件,只是进行重启操作。后来还跑过去换服务器,重新进行部署。但是还是会崩溃,这次注意到pid.log文件,...

    前言

    每次tomcat在客户服务器上运行一个多月左右的时候,都会崩溃。然后tomcat自动停止,生成hs_err_pid.log文件。

    说明

    因为在原来服务器上就出现了tomcat崩溃,也不知道因为什么原因崩溃,多长时间崩溃。而且也没注意有pid.log文件,只是进行重启操作。后来还跑过去换服务器,重新进行部署。但是还是会崩溃,这次注意到pid.log文件,然后进行分析,一直找不到解决的原因。

    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (malloc) failed to allocate 533160 bytes for Chunk::new
    # 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:323), pid=5452, tid=4920
    #
    # JRE version: Java(TM) SE Runtime Environment (7.0_40-b43) (build 1.7.0_40-b43)
    # Java VM: Java HotSpot(TM) Server VM (24.0-b56 mixed mode windows-x86 )
    # Failed to write core dump. 

    根据这个日志前面部分分析,就是内存不足导致的。当时很奇怪,怎么会引起内存不足呢,因为按照以往的项目,根本不需要太大内存,何况服务器内存是32G的,怎么都不会引起内存不足。(当时没注意java 是32为的)

    Java Threads: ( => current thread )
      0x491d1c00 JavaThread "Timer-919" daemon [_thread_blocked, id=4840, stack(0x00110000,0x00190000)]
      0x491d1800 JavaThread "Timer-915" daemon [_thread_blocked, id=5244, stack(0x7fee0000,0x7ff60000)]
      0x491d1000 JavaThread "Timer-914" daemon [_thread_blocked, id=4928, stack(0x00050000,0x000d0000)]
      0x491cd000 JavaThread "Timer-913" daemon [_thread_blocked, id=5200, stack(0x7fd40000,0x7fdc0000)]
      0x491d0800 JavaThread "Timer-912" daemon [_thread_blocked, id=11684, stack(0x7fe60000,0x7fee0000)]
      0x491ccc00 JavaThread "Timer-911" daemon [_thread_blocked, id=6312, stack(0x7fba0000,0x7fc20000)]
      0x491d0400 JavaThread "Timer-910" daemon [_thread_blocked, id=8736, stack(0x7fcc0000,0x7fd40000)]
      0x491cfc00 JavaThread "Timer-909" daemon [_thread_blocked, id=8556, stack(0x7fa00000,0x7fa80000)]
      0x491cd800 JavaThread "Timer-908" daemon [_thread_blocked, id=12128, stack(0x7fb20000,0x7fba0000)]
      0x491cec00 JavaThread "Timer-907" daemon [_thread_blocked, id=6568, stack(0x7f860000,0x7f8e0000)]
      0x491cdc00 JavaThread "Timer-906" daemon [_thread_blocked, id=10204, stack(0x7f980000,0x7fa00000)]
      0x491cf000 JavaThread "Timer-905" daemon [_thread_blocked, id=5100, stack(0x7f7a0000,0x7f820000)]
      0x491cc400 JavaThread "Timer-904" daemon [_thread_blocked, id=1740, stack(0x7f6e0000,0x7f760000)]

    还有就是发现,不知道什么原因,创建了九百多个Timer线程。但是定时都是用Spring的定时,没有用自己写的Timer那。

    发现问题

    因为创建过多的Timer线程,于是在项目中查找,看什么地方创建了,于是找到了

        @Scheduled(cron="0 0 0/1 * * ?")  //每小时
    	public void init() {
    		Map<String, String> map = queryEmail();
    		String str = queryWarning();
    		String user = map.get("monitorSenderMail");
    		if(null==user){
    			try {
    				Thread.sleep(60*60*1000);
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    		String  password =map.get("monitorSenderPass");
    		String  toaddress = map.get("monitorRecieverMail");
    		String emailstmp = map.get("emailstmp");
    		String emailport = map.get("emailport");
    		String theme = "测试";
    		Timer timer = new Timer(true);
    		timer.schedule(new WriteWarning(str),0,1000*60*60);  //1个小时写向warning.txt文件写一次
    		timer.schedule(new SendEmail(user, password, toaddress, theme,emailstmp,emailport),0,1*60*60*1000);  //1个小时向邮箱发送一次
    	}

    这段代码,用的spring定时器,每小时调用一次。然后我。。。。。(我就不多说啥了,改吧)

    然后发现客户的tomcat配置中

    set JAVA_OPTS=-server -Xms128M -Xmx512M -Xss512k

    然后恍然大悟,为啥一个多月就崩溃一次,每小时创建一个线程,一天24个,一个月下来就七百多,每个线程512K,结果不言而喻。。。。。 

     

    解决办法

    1. 修改代码,只用spring 定时,不创建Timer线程

    2. 修改tomcat配置 因为是32为的java  目前直接设置-Xmx1024M

    展开全文
  • 生产环境增加交换分区swap,解决tomcat崩溃的问题 在生产环境kvm集群,vm根据模板建立,所以每个vm的swap都是200M。但是tomcat有时候会(装有多个tomcat的情况下)会频繁交换数据。导致200M交换分区不足。于是需要...
  • TomcatJVM内存设置时间:2017-05-11来源:华清远见JAVA学院在使用Tomcat的过程中经常会遇到Tomcat JVM内存溢出的问题,今天华清远见Java学院小编就为大家分享下,如何进行Tomcat JVM内存设置,解决Tomcat内存溢出...
  • TOMCAT异常退出分析和解决方法

    万次阅读 2015-09-29 19:39:47
    最近遇到一个很诡异的问题,远程登录服务器,本来是想查看一下Tomcat的运行情况,结果用鼠标把窗体一拖,Tomcat居然自己关上了!就好像是自己按下了Ctrl+C一样!同事的电脑都没有出现这种情况,后来换了鼠标也不行...
  • Tomcat本身不能直接在计算机上运行,需要依赖于操作系统和一个JAVA虚拟机。JAVA程序启动时JVM会分配一个初始内存和最大内存给程序。当程序需要的内存超出内存的最大值时虚拟机就会提示内存溢出,并且导致应用服务...
  • tomcat服务器宕机解决方案
  • windows下tomcat无故宕机自动检测重启,完美解决shutdown无法关闭问题 1、废话不说先上脚本这个脚本也是参考大佬的这个随便放在一个地方,直接管理员方式运行就可以 @echo off SETLOCAL ENABLEDELAYEDEXPANSION rem...
  • 原创 Tomcat崩溃kernel

    2020-01-16 21:09:18
    场景 Jan 16 03:03:57 host-172-16-61-102 vm-agent: network-posix.c GetIpv4VifIp 1201 : failed to GetIpv4VifGateway Jan 16 03:03:57 host-172-16-61-102 ...解决 调整JVM 最大内存,小于系统最大物理内存
  • tomcat 宕机问题分析及解决

    万次阅读 2017-03-13 09:59:04
    服务器环境:centos6.7 + tomcat7.0.69 + jdk1.7.0_55 + mysql5.6.28 场景:服务刚开始用户体验变差,请求时间长,之后出现404,500等与服务器交互失败问题。重启后用户体验回升,半小时内问题没有再现。 日志中...
  • 最近部署服务器时,总是会出现jvm fatal error 导致tomcat崩溃无法正常启动,以下是错误信息  Java代码  # A fatal error has been detected by the Java Runtime Environment:  #  #...
  • Tomcat崩溃事件

    2008-06-04 11:05:00
    今天一大早产品一部项目经理就来找我,他们的一台服务器昨天晚上tomcat服务崩溃,还不能重启服务,最后将服务器重启才OK。我将事件过程和分析过程记录如下:服务器:win 2000 sp4,apache 2 + tomcat 5.0 采用mod_jk...
  • 求救!Tomcat几乎每天都会崩溃

    千次阅读 2018-01-22 15:31:29
    事情是这样的,一个Tomcat中装了两个项目,之前倒也相安无事,但最近总是不定时的Tomcat崩溃,有考虑过内存溢出,所以把内存调到5G但效果却差强人意。也有想过是因为WebSocket并发量过多,线程卡死的问题,但也都...
  • 检测tomcat服务,实现崩溃自动重启并发送邮件提醒

    千次阅读 热门讨论 2016-08-23 17:54:00
    场景需求tomcat偶尔并不是那么稳定,可能在长时间...很多企业仍然会将tomcat用于生产环境,这个时候出现崩溃就比较棘手,有时候运营那边大半夜或者周末一个电话,我们就不得安宁了。。。 本文通过简短的VB脚本,实现对
  • 这是Tomcat的Catalina.out的最后几行,关键是最后一行,本来应该是写的Agent record.结果就硬生生的给断了.日志写到这里,下面就啥都没有了.ps看了一下,两个jsvc进程全没了,Tomcat已经挂了. 另外,日志大小已经到2G了,...
  • 按照压缩包里面的操作说明把对应文件拷贝进去就没问题了。
  • Tomcat崩溃事件 今天一大早产品一部项目经理就来找我,他们的一台服务器昨天晚上tomcat服务崩溃,还不能重启服务,最后将服务器重启才OK。我将事件过程和分析过程记录如下:服务器:win 2000 sp4,apache 2 + ...
  • 原 netty导致tomcat假死

    2021-03-14 03:24:04
    tomcat的web.xml配置文件中配置一个Listener类用来在tomcat初始化启动时,启动一个Netty服务端,在Netty服务端的Handler中处理每一个连接请求的复杂业务。三、使用版本:netty版本:netty-all-5.0.0.Alpha1jdk版本...
  • TOMCAT崩溃问题!

    2009-06-09 11:40:10
    大家好,我们公司现在有2个网站,都放在一个TOMCAT服务器上,按道理说同时运行是没有问题的,但是最近老是出现服务器崩溃的问题,很郁闷,我们检查了程序代码和服务器配置等等原因,也在本地进行测试了,还是解决不...
  • 一:JVM崩溃Log日志分析 Java的应用有时候会因为各种原因Crash,这时候会产生一个类似java_errorpid.log的错误日志。 二:jvm参数在哪里设置 三:tomcat如何优化
  • 经过从网上查找,原因应该是tomcat绑定IP地址的问题,可以通过ping localhost查看IP是哪种格式,现解决方案如下: (借鉴而得的解决方法) 使用cmd命令netstat -n, 查看tomcat地址绑定, 发现是绑定到...
  • 最近的检验系统上线一段时间后,发现系统访问不了,tomcat总是会自动崩掉,一般遇到这种问题,程序员的第一...看看tomcat崩溃的时候,tomcat进程使用内存是否明显占用较多。二、查看tomcat日志catalina.201X-XX-XX....
  • POST方法,前端传送的时候总是莫名其妙的崩溃,去网上搜了半天,以为是文件大小被限制了,但是我这个是字符串接收,不是文件接收,于是又继续搜,原来post本身没有参数大小限制,但是tomcat给限制了,于是解决方式...
  • tomcat假死原因以前遇到tomcat莫名奇妙的假死了,没有任何的响应,然后重启后又可以了,隔段时间又假死了。以前不懂的处理和排除原因,纠结的半死。无从入手,都想砸电脑,小伙伴们有遇到过,我遇到过4次。其实...
  • 访问Tomcat服务器崩了解决办法

    千次阅读 2018-05-31 18:32:15
    最近在远程Tomcat服务器访问老是出现类似于以下的异常抛出的错误,抛出的异常千奇百怪。比如数组超出异常,方法未定义异常...而在本地运行时好好地,没有一点问题,当然实际上数组也并没有超出,方法我也已经定义了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,315
精华内容 6,926
关键字:

tomcat崩溃了怎么解决