网站运行一段时间后就无法访问,重启Tomcat才能恢复
出现这种情况,很可能是以下几种情况:
1、超过数据库连接池上限
2、并发数达到上限
3、内存溢出
具体还是需要通过打印的日志进行具体分析。
解决方法
1、如果是超过数据库连接上限,你就需要检查是否存在使用了,但没有释放的连接,或者说出现异常后,没有关闭的连接。当然如果你设置的数据库连接池上限没有超过数据库给定的最大数,你也可以适当将连接池的上限调大一点。

2、如果是并发数超过上限,那么你可以给有好的提示或者适当增大并发数。

3、如果是内存溢出,你可能需要检查是否程序中存在没有关闭的数据库连接,或者IO操作的文件流,或者是嵌套查询导致访问数据量过大,系统崩了,或者是死循环等等。如果没有这些问题,你可以适当将tomcat的虚拟内存设置大一点。

------------------------------------------------------------------

(参考)

后来尝试加大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"
重启tomcat后,运行了几天就再也没有出现过问题。
注意:具体参数大小请结合服务器的具体配置。

备注:随笔中内容来源于网上资料整理,仅供参考。

网站运行一段时间后就无法访问,重启Tomcat才能恢复的更多相关文章

  1. 【解决】网站运行一段时间后就无法访问,重启Tomcat才能恢复

    [背景]重新部署了网站,运行环境是Linux(centOS6.5)+Tomcat7+mysql5,作了相关安全配置和系统优化工作: [问题]运行几天后,出现了网站无法访问的现象,具体是进入网站首页时页 ...

  2. 【生产环境】Tomcat运行一段时间后访问变慢分析历程

    环境运行一天或者几天,网站访问就很卡,手机端app访问页面出现白屏.Tomcat运行一段时间后访问变慢,但是cpu,内存都正常.日志也是发现不了啥.... 问题的原先分析 1.环境配置(cpu,内存, ...

  3. WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)

    WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...

  4. Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法

    Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法 最近自己下载了最新版本的Pycharm,运行程序过程中发现,在运行一段时间后(比如10几分钟),Py ...

  5. Spring Boot定时任务运行一段时间后自动关闭的解决办法

    用Spring Boot默认支持的 Scheduler来运行定时任务,有时在服务器运行一段时间后会自动关闭.原因:Schedule默认是单线程运行定时任务的,即使是多个不同的定时任务,默认也是单线程运 ...

  6. IIS服务器运行一段时间后卡死,且无法打开网站(IIS管理无响应,必须重启电脑)

    问题描述: 公司希望使用IIS配合网站显示一些订单跟进的情况并展示出来,所以我们在一台演示的Win7 Pro电脑上安装了IIS,但使用了一段时间后发现每过几天页面就无法正常访问了,而且打开IIS管理器 ...

  7. 记hangfire后台任务运行一段时间后不运行了。

    什么是Hangfire Hangfire 是一个开源的.NET任务调度框架,目前1.6+版本已支持.NET Core.个人认为它最大特点在于内置提供集成化的控制台,方便后台查看及监控. https:/ ...

  8. ELK故障:elk在运行一段时间后,没有数据。

    故障排查: 1. 查看kafka.logstash.elasticsearch进程是否运行正常,显示正常. 2. 使用logstash在前台运行,有日志输出 3. 查看kafka的topic的offs ...

  9. mysql event_scheduler运行一段时间后 自动关闭

    应该是你重启过电脑或重启过服务了.  SELECT * FROM mysql.event;SET GLOBAL event_scheduler = 1; -- 开启定时器 0:off 1:on SHO ...

随机推荐

  1. linux系统下tomcat应用开机自启动 配置

    linux系统下tomcat应用开机自启动 配置 相对简单的方式是将tomcat添加为系统服务第一步  复制文件将 $Tomcat_Home/bin目录下的 catalina.sh脚本文件复制到目录/ ...

  2. 2018年最新Java面试题及答案整理(持续完善中…)

    2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...

  3. tp5怎么验证手机号码

    直接上干货

  4. 测开之路五十七:实现runner和测试报告

    准备测试用例 from fox.case import Casefrom src import Calculator class TestCalculator(Case): def setUp(sel ...

  5. MFC绘图基础

    ·MFC中三种坐标系统: 1.屏幕坐标系 坐标原点位于屏幕左上角 2.(非客户区)窗口坐标系 坐标原点位于窗口左上角(包括标题栏) 3.客户区坐标系 坐标原点位于客户区左上角(不包括标题栏) ·坐标系 ...

  6. 为什么tcp-wrappers被Redhat Centos Fedora废弃?

    1 简述 TCP wrappers is a simple tool to block incoming connection on application level. This was very ...

  7. 创建网关项目(Spring Cloud Gateway)

    创建网关项目 加入网关后微服务的架构图 创建项目 POM文件 <properties> <java.version>1.8</java.version> <s ...

  8. C++中的异常处理(下)

    1,catch 语句块中可以抛出异常: 1,示意图: 2,func() 在 try 语句块中,说明它有可能抛出异常,抛出的异常有可能是整型或其它类型: 3,catch 语句块处理方式是将异常重新抛出去 ...

  9. C++中初始化列表的使用

    1,初始化列表是在 C++ 中才引入的: 2,以“类中是否可以定义 const 成员?”这个问题来引入初始化列表: 1,const 这个关键字可以定义真正意义上的常量,也可以在某些情况下定义只读变量: ...

  10. HMTL5滑动块研究

    滑动块图片 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...