展开

关键词

java检测tomcat宕机_Tomcat意外宕机分析

/bin/bash cd/usr/software/tomcat/apache-tomcat-7.0.81/bin/. /catalina.sh start tail-f /usr/software/tomcat/apache-tomcat-7.0.81/logs/catalina.out 然后启动该脚本,服务起来了,可以正常访问 /bin/bash cd/usr/software/tomcat/apache-tomcat-7.0.81/bin/. /bin/bash set-m cd/usr/software/tomcat/apache-tomcat-7.0.81/bin/. /bin/bash set-m cd/usr/software/tomcat/apache-tomcat-7.0.81/bin/.

5910

【致远FAQ】致远OA宕机Tomcat异常宕机

1的日志前输出如图2所示的内容 2)tomcat停机的时间发生在15:32:28秒 3)查看应用日志,没有发现存在业务异常;但是佐证了tomcat停机的时间,如图3所示: 4)对比tomcat 停机的时间,查看操作系统的日志/var/log/messages在15:32:28相关日志内容,如图4所示,可以得出以下信息: 5)tomcat宕机、sshd进程收到断开连接的事件都发生在同一秒。 10)现在的问题焦点就转移到,原有启动脚本里面增加了一行tail语句导致tomcat异常退出的原因:从脚本的执行过程来看,tomcat启动后,当前shell进程并没有退出,而是挂在tail进程上。 (如图6所示);该线程会触发Tomcat的shutdownhook函数(如图7所示),在该函数中会执行tomcat退出时的资源销毁操作(如图8所示): 图6 jstack堆栈快照 图7 jstack 堆栈快照 图8 ctp.log日志片段 修改与建议 该问题的解决,也能解释之前项目现场其他环境下没有异常日志生成,却出现了tomcat异常宕机的情况。

6230
  • 广告
    关闭

    《云安全最佳实践-创作者计划》火热征稿中

    发布文章赢千元好礼!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    tomcat宕机解决方法

    最近项目出现tomcat宕机的情况,即项目运行一段时间后tomcat就会停止运行,解决方法步骤如下: 首先进入linux服务器,使用命令top进行查看,发现tomcat的cpu利用率很高,超过100% 接着,使用命令ps -ef|grep tomcat,查找到对应的pid 接着使用jmap -heap pid.发现PermGen 的利用率达到了99.99%,所以初步确定了问题是出在永久带内存空间太小。 解决方法,在tomcat的启动文件(catalina.sh)中添加如下参数,加大永久带的内存 -XX:PermSize=256M -XX:MaxPermSize=512M 这样情况得到了缓解,但运行一段时间以后 ,又出现了宕机问题,检查后发现又是永久带满了,这次使用 jmap -permstat pid查看,发现有许多delegatingClassLoader没有被回收,这是由于项目使用了很多的反射导致的,而该

    6620

    linux tomcat宕机自动启动脚本,tomcat宕机自动重启脚本「建议收藏」

    /bin/bash # 获取tomcat进程ID /usr/share/tomcat TomcatID=(ps -ef |grep tomcat |grep -w ‘tomcat‘|grep -v ‘grep ‘|awk ‘{print 2}‘) # tomcat启动程序(这里注意tomcat实际安装的路径) #StartTomcat=/usr/local/tomcat/bin/startup.sh #yum ]页面访问出错,开始重启tomcat” kill -9 $TomcatID # 杀掉原tomcat进程 sleep 3 #rm -rf $TomcatCache # 清理tomcat缓存 systemctl start tomcat fi else echo “[error]tomcat进程不存在! tomcat开始自动重启…” echo “[info]tomcat starting,请稍候……” #rm -rf $TomcatCache systemctl start tomcat fi echo

    7530

    tomcat宕机自动重启和每日定时启动tomcat

    一、设置tomcat定时启动 1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。 set SERVICE_NAME=Tomcat7 set PR_DISPLAYNAME=Apache Tomcat 【然后修改jvm大小,搜索到–JvmMs 128 –JvmMx 256 进行修改, 2,制作重启脚本restart.bat,文件内容如下 net stop Tomcat7 net start Tomcat7 3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划 4,如果想删除服务 testIntervalTime=3 #连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒 connectionTimeout=15 #tomcat启动时间,防止在 2、在运行里输入“CMD”,进入命令控制台,使用cd命令转到tomcat目录下的bin目录,运行service.bat install命令,把tomcat设置为系统启动服务。

    6730

    LINUX环境tomcat宕机自启

    写一个monitor.sh脚本用于判断tomcat进程是否存在,若不存在则启动tomcat 脚本链接https://download.csdn.net/download/qq_41959871/13722321 然后重启定时服务 /sbin/service crond restart 检测到没有启动时的日志输出 正常启动后的定时任务中的日志输出 部署过程遇到的坑: 手动执行脚本,无任何异常,tomcat 能被脚本正常启动但定时器执行的脚本过程 tomcat启动失败报错: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program 说没有java的环境 编辑/tomcat/bin下 ,应该是定时任务没有办法获取到tomcat默认配置的JRE_HOME导致的 参考博客地址 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159404.html原文链接

    8710

    Tomcat+Nginx配置以及Tomcat宕机后的问题

    假如说我们有一个web应用,需要Tomcat作为容器去运行。我们把要运行的项目直接扔进tomcat目录的webapps文件夹中。tomcat会帮我们运行。 Tomcat先把项目放进去然后我们来到apache-tomcat-8.0.30的上级目录把tomcat拷贝三份,然后新建一个文件夹放进去,就像这样: 我新建了一个文件夹叫ngixn-1.12.2-admin 然后放入三个Tomcat。 我们给集群起的名字叫local_tomcat所以相应的值就是http://local_tomcat。 关于服务器宕机情况大家只需要这样就可以了。 这个属性是为了让转发时。tomcat的服务器要是1秒没响应就直接切换服务器。当tomcat1在1s没有响应他就会换tomcat2或者tomcat3。

    4420

    Tomcat之——宕机自动重启和每日定时启动tomcat

    一、设置tomcat定时启动 1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。 set SERVICE_NAME=Tomcat7 set PR_DISPLAYNAME=Apache Tomcat 【然后修改jvm大小,搜索到–JvmMs 128 –JvmMx 256 进行修改,因为做成服务启动 2,制作重启脚本restart.bat,文件内容如下 net stop Tomcat7 net start Tomcat7 3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划 4,如果想删除服务 二、监听tomcat 只要运行start.bat即可,相关配置在config.properties文件中,默认即可, 如果服务名不对应就修改关闭和启动命令的服务名即可:net start 【Tomcat7 ,即多少秒tomcat没响应视为宕机,单位为秒 connectionTimeout=15 #tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动

    6150

    手写tomcat监控工具---宕机重启 原

    使用前提: 1、打成jar包,并在控制台运行:java -jar TomcatMonitorUtil.jar 2、需要配置tomcat环境变量  #TOMCAT启动路径 startup.bat =E:/wwx/apache-tomcat-9.0.7/bin/startup.bat #TOMCAT关闭路径 shutdown.bat=E:/wwx/apache-tomcat-9.0.7/bin/shutdown.bat isRun) { try { //关闭tomcat服务 Runtime.getRuntime().exec(shutdownBat); System.out.println(df.format(new Date()) + ":关闭tomcat服务,稍等5秒钟"); Thread.sleep(5000); //启动tomcat服务 System.out.println(df.format(new Date()) + ":测试连接失败,正在重启tomcat"); Process

    75730

    linux内存不足导致tomcat宕机

    情况,正常运行的服务器,突然tomcat不能访问了 因为服务器的内存是2g的,所以就怀疑是内存不够了,所导致 开始排查 ps -ef|grep tomcat 显示tomcat已经不在运行了 free 当时那台机器free,只有77了,这张图是后在自己电脑上截的 grep "Out of memory" /var/log/messages 查看系统日志,显示内存不足,杀死了一个java进程,可以推测,就是tomcat 惨遭了毒手, 那为什么杀了tomcat呢? ​

    7110

    tomcat宕机无法响应问题研究解决

    本人于两年前接手,在对该系统进行开发运维过程中,先后解决了两种tomcat宕机无法提供服务情况,具体如下: (1)JVM 内存不足 主Tomcat运行过程出现宕机无法响应的现象,刚开始无法定位问题时只能在挂死出现时采用手工重启的方式解决 后在服务器配置tomcat每天晚上重启的策略,每天宕机的次数相对原来有所减少,但仍然会随机出现。经分析大概判断是内存不足导致。 (2)程序逻辑问题 在解决因JVM内存不足导致Tomcat频繁宕机问题后,该系统又出现了另外一种情形的宕机。 此外因为是上班时间宕机,因此出现状况时就直接登陆服务器,tomcat进程还在,控制台已停止输出,处于挂死状态,情况紧急就直接重启tomcat。期间断断续续通过各种方式编译部署,但都没有最终解决问题。 5)此外审核不会出现宕机是因为当批准的时候才调用,就解释了为何审核不会导致宕机。但原版代码为什么没有问题呢?再追溯代码,原版代码地址不完全一样,端口不同,至此一切真相大白了。

    9430

    tomcat 宕机问题分析及解决「建议收藏」

    服务器环境:centos6.7 + tomcat7.0.69 + jdk1.7.0_55 + mysql5.6.28 场景:服务刚开始用户体验变差,请求时间长,之后出现404,500等与服务器交互失败问题 pool error Timeout waiting for idle object 2、Mar 06, 2017 10:59:53 AM org.apache.tomcat.util.net.JIoEndpoint java.net.SocketException: Too many open files 解决方案: 1、更改centos的单个文件最大句柄数为最大的65535,tomcat 宕机的直接原因是 第二个问题 Too many open files 2、更改线程池的配置增加如下参数: maxWait=“3000” 从池中取连接的最大等待时间 removeAbandonedTimeout=“180” 连接泄漏回收参数,180秒,泄露的连接可以被删除的超时值 问题原因: 1、网络延迟增加; 2、tomcat

    6820

    Tomcat频繁宕机的原因分析「建议收藏」

    没有完全释放,用完后要父NULL 值; 数据库连接顺序关闭; 优化JAVA虚拟机 加入相应的内存参数; TOMCAT 在LINUX 下不是很稳定; String 类型使用,不符合规范; 不要在数据库中获取大段文本

    5310

    linux下查看tomcat宕机并自动重启

    /bin/sh # 获取tomcat的PID TOMCAT_PID=$(ps -ef | grep tomcat | grep -v 'tomcatMonitor' |grep -v 'grep' | awk '{print $2}') # tomcat的启动文件位置 START_TOMCAT=/usr/local/tomcat6/bin/startup.sh # 需要监测的一个GET请求地址 MONITOR_URL " # 判断tomcat的PID是否存在,如不存在说明tomcat进程已关闭,注意[]前后,变量前后,都要有空格 if [[ $TOMCAT_PID ]];then echo "[info ]当前tomcat的PID为:$TOMCAT_PID,继续监测页面 " # 结束tomcat进程 kill -9 $TOMCAT_PID # 5秒后重启tomcat sleep 5 $START_TOMCAT

    9430

    Win下tomcat宕机自启vbs脚本

    注意要修改的地方: 1.检查tomcat是否挂掉的访问路径,即下面代码中的:http://localhost:8080? a=” & now 2.一定要先切到bat所在目录 WshShell.CurrentDirectory=”D:\Program Files\apache-tomcat-9.0.10-windows-x64 \apache-tomcat-9.0.10\bin\”,否则导致闪退 3.WshShell.Run cmd /c “& Chr(34) & shutdown & Chr(34) ,先shutdown再startup -9.0.10-windows-x64\apache-tomcat-9.0.10\bin\" shutdown="D:\Program Files\apache-tomcat-9.0.10-windows-x64 (5000) startup="D:\Program Files\apache-tomcat-9.0.10-windows-x64\apache-tomcat-9.0.10\bin

    5120

    tomcat突然宕机问题解决方案

    一.tomcat突然宕机时间 2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。 二.问题定位 1.排查tomcat的启停日志。 在文件tomcat/logs/localhost.xxxx.log,排查tomcat的启停日志正常。在宕机时刻,有关闭日志输出。 2.使用history命令,查看系统的操作命令。发现使用‘. 3.排查tomcat的运行日志。在文件tomcat/logs/catalina.out中,找到tomcat宕机的时间点的日志,发现没有收到shutdown port的日志。 4.排查项目的异步日志文件输出,在宕机时间点,所有接口请求正常,响应正常,有接口请求日志输出,有响应日志输出。 5.经过在网上搜索资料发现。使用‘&’字符命令方式。 /bin/startup.sh & tail –f logs/catalina.out’所影响的两个进程,即tomcat的进程和查看日志进程。此时导致了tomcat关闭,出现了突然宕机

    6520

    记一次线上服务器宕机 springboot tomcat

    记一次线上服务器宕机 springboot tomcat 今天点网站发现请求不了了,到服务器查看,发现tomcat死了。 查看log 发现 但是项目本地跑,没发现问题。

    5720

    Linux下自动检测Tomcat宕机,并自动重启

    Linux下自动检测Tomcat是否宕机,并自动重启 公司服务器tomcat经常自动挂掉,具体原因无法找到。所以做了这次调整。让Linux自动检测tomcat是否宕机 1. /bin/sh # 获取tomcat进程ID /usr/local/tomcat_ds_api #TomcatID=$(ps -ef |grep tomcat |grep -w 'ps -ef |grep tomcat8.5'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意tomcat实际安装的路径) . /etc/profile #此行必不可少,若少了,tomcat无法自动重启 StartTomcat=/root/apache-tomcat-8.5.40/bin/startup.sh #tomcat绝对路径的启动文件地址 ='/root/apache-tomcat-8.5.40' #tomcat 完整路径 #获取 tomcat_path 所知tomcat 的进程ID TomcatID=$(ps -ef |grep tomcat

    9030

    nginx配置负载均衡,tomcat宕机响应缓慢,自动切换的问题

    用了nginx负载均衡后,在两台tomcat正常运行的情况下,访问http://localhost 速度非常迅速,通过测试程序也可以看出是得到的负载均衡的效果,但是我们试验性的把其中一台tomcat(server

    7830

    一次Java项目Tomcat宕机事件,问题出在系统dll包上

    问题 Tomcat突然挂了,重启后可以正常运行一段时间,不定时又会挂掉,没有明显错误日志。 ? 大概经过 一天早上,还没上班,突然接到客户电话系统无法访问,饭都没吃,赶到公司开始解决问题,首先想的是查错误日志,但发现并没有产生异常信息,只是在Tomcat的bin目录中有一个hs_err_pid开头的文件 解决方法 查了操作系统更新记录,发现确实是因为这个文件自动升级更新后出现的Tomcat挂机事件,最后把操作系统还原到更新前状态,问题解决。 以上,是我亲身经历的一次宕机事件,解决方法仅供参考,有什么好的解决方法或预防措施,可以评论区交流。 我是一名码龄10年的程序员,在这里会分享实在干货,让你少走弯路,成就精彩人生。

    24920

    相关产品

    • 手游安全测试

      手游安全测试

      安全测试为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞,提前暴露应用,小程序潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券