今天给客户部署新系统,一个 前台应用,一个后台应用,由于用的是同一个架子,日志文件路径也没改,所以两个应用的日志文件是同一个文件,这样应用运行时,就会出现只能访问一个应用的情况,如果两个应用同时访问,两个应用都会奇慢。
事情是这样的:
部署完之后,同时访问两个应用测试一下,发现出奇慢,根本加载不出来;
就去查找日志文件;没发现什么奇怪的东西;用vi命令查看日志文件的时候,整个系统都变得非常卡;
查看内存,几乎都用上了;
用下面的命令查看内存的使用情况;
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
发现前面3个都是tomcat的,如下是其中一个,奇怪,怎么会有3个?
root 3493 10.5 13.2 4658452 1067264 pts/0 Sl 23:13 0:53
/opt/deploy/jdk1.8.0_73/bin/java -Djava.util.logging.config.file=/opt/deploy/apache-
tomcat-7.0.63/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -
Djava.endorsed.dirs=/opt/deploy/apache-tomcat-7.0.63/endorsed -classpath
/opt/deploy/apache-tomcat-7.0.63/bin/bootstrap.jar:/opt/deploy/apache-tomcat-
7.0.63/bin/tomcat-juli.jar -Dcatalina.base=/opt/deploy/apache-tomcat-7.0.63 -
Dcatalina.home=/opt/deploy/apache-tomcat-7.0.63 -Djava.io.tmpdir=/opt/deploy/apache-
tomcat-7.0.63/temp org.apache.catalina.startup.Bootstrap start
进程杀掉,内存瞬间都释放了;
继续重启,还是老样子;
由于日志运行了很久了,就想把日志文件删了,重新看下;
文件一删,一直在加载中的两个网页,突然一下都加载出来了;
突然想到,这两个应用的日志文件路径相同;
很可能是两个应用获取这个文件的写权限时死锁了;
于是更改了其中一个应用的日志路径;
于是问题解决;
这时用上边的查看内存使用情况的命令查看,就只有一个tomcat了;
有时间再测试下这个3个tomcat进程的问题!
转自http://blog.csdn.net/xichenguan/article/details/51020518
分享到:
相关推荐
【Tomcat部署WAR项目操作文档】 Tomcat是一个广泛使用的开源Java Servlet容器,它允许开发者部署Web应用程序,包括WAR(Web Application Archive)格式的文件。以下是一份详细的步骤指南,涵盖了从打包WAR文件到在...
标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...
- `context.xml`:每个Web应用都有一个`META-INF/context.xml`文件,可以在这里配置应用级别的日志路径和级别。 - `WEB-INF/classes/logging.properties`:如果你不想使用全局的日志配置,可以在每个Web应用中提供...
这表明Struts2框架在加载配置文件时遇到了问题。 #### 原因分析 1. **配置文件丢失或损坏**:最常见的情况是由于`struts.xml`配置文件不存在或者格式不正确导致的。 2. **依赖问题**:如果项目中使用的Struts2版本...
本篇文章将深入探讨如何在Linux开发机上高效地管理和部署多个应用程序。 首先,安装Tomcat是第一步。在Linux上,可以通过包管理器如`apt` (Ubuntu/Debian) 或 `yum` (CentOS/RHEL) 来安装。例如,对于Ubuntu: ```...
- **虚拟主机配置**:如果需要在同一台机器上部署多个独立的应用,需要配置Tomcat的虚拟主机。 - **日志管理**:了解如何查看和配置Tomcat的日志输出,以便于调试和监控。 【压缩包子文件的文件名称列表】:First ...
总之,部署Java Web项目到Tomcat服务器是一个多步骤的过程,涉及到服务器配置、项目打包以及服务器管理等多个环节。理解这些知识点有助于优化开发流程,提高效率。在实际操作中,应根据具体需求选择适合的部署方式,...
在 Tomcat 服务器中,我们可以配置单点登录,以便实现多个应用程序之间的身份验证共享。在 server.xml 文件中,我们添加了一个单点登录 valve,如下所示: ```xml <!-- ...
在部署多个Web应用程序(war包)至Apache Tomcat服务器时,我们可以遵循一系列详细步骤来确保各个应用程序能够正确部署并相互独立运行。以下是详细的知识点介绍: 1. 环境准备: 首先,确保已经正确安装了Java开发...
Tomcat的根目录包含多个子目录,其中最重要的是`webapps`目录,它是默认的Web应用程序部署位置。在这个目录下,每个子目录代表一个独立的Web应用。此外,`conf`目录存储配置文件,`logs`记录日志,`temp`用于临时...
2. **配置虚拟主机**:通过修改conf/server.xml文件,可以创建多个虚拟主机,每个虚拟主机可以托管不同的应用程序。 3. **安全管理**:使用tomcat-users.xml配置文件,可以设置角色和用户,实现基于角色的访问控制。...
4. **WAR文件部署**:将打包好的WAR文件放入`webapps`目录下,Tomcat会自动解压并部署该应用。如果希望自定义部署,可以创建`META-INF/context.xml`文件并放在WAR包内,定义特定的部署配置。 5. **启动和管理Tomcat...
- Tomcat的日志文件通常位于`logs`目录下,包括`catalina.out`、`host-manager.log`等,这对于调试和解决运行时问题非常有帮助。 10. **管理应用** - 通过访问`http://localhost:8080/manager/html`,使用管理员...
在实际部署应用时,通常将Web应用的WAR文件放入`webapps`目录,Tomcat会自动解压并部署。如果需要单独配置某个应用,可以创建一个对应的`context.xml`文件放入`conf/Catalina/localhost`目录下。 **注意**:为了...
总结,部署一个新的项目到Tomcat涉及到多个步骤,包括安装Tomcat和JDK,配置环境变量,复制项目文件,以及启动Tomcat。每个环节都需要细心处理,确保所有依赖项都正确无误,以确保项目的顺利运行。在实际环境中,还...
10. **故障排查**:当应用出现问题时,查看错误日志、分析堆栈跟踪,或者使用工具如JMX、VisualVM等进行诊断。 以上就是Tomcat集成部署配置的基本过程和关键知识点。根据具体需求,可能还需要涉及负载均衡、集群、...
此外,你可能还需要注意一些细节,比如在多模块项目中,可能会有多个日志配置文件,这时需要正确地加载和合并配置。还有,为了性能考虑,可以考虑使用异步日志器,这可以通过引入`log4j2`的异步组件实现。 总的来说...
总的来说,部署到Tomcat报错是一个多方面的问题,需要从多个角度排查。熟悉Tomcat的架构和配置、理解Java Web应用的部署流程以及掌握日志分析技巧,都是解决问题的关键。在实际工作中,不断学习和积累经验,将使你更...
对于Tomcat的优化,可以从多个层面入手。首先是JVM参数调整。通过设置-Xms和-Xmx指定Java虚拟机的初始和最大内存大小,避免因内存不足导致的系统性能下降。-XX:MaxPermSize和-XX:NewRatio参数可以控制年轻代和老年代...