自己配置了一个nginx + tomcat (1 * 3) + memcached 的J2EE集群。
发现tomcat经常发现堆栈溢出,尤其是 Pern Gen。
看了网上不少资料,发现没一个能用的。所以根据自己配置 java [-jvm args] -jar test.jar ,配置了tomcat的JVM启动参数,解决了堆栈溢出的问题。
步骤如下:
/*------------- linux start ----------------*/ $cd /usr/local/apache-tomcat-6.0.18/bin //进入你tomcat的bin目录 $vim catalina.sh //编辑你的 catalina.sh 文件 找到里面的 # Set juli LogManager if it is present if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" fi 把 JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" 修改为 JAVA_OPTS="$JAVA_OPTS -Xms5120m -Xmx5120m -Xmn2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=500 -XX:+CMSClassUnloadingEnabled -XX:+CMSClassUnloadingEnabled -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" /*------------- linux end ----------------*/
因为我用的Linux服务器是32G内存,所以我对JVM的参数设置的比较大。在JVM堆栈后面的参数,是对JVM垃圾回收器优化的参数。
如果大家依然发现堆栈溢出,请检查你的代码。
---------
相关推荐
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
由于JVM是Tomcat的基础,其配置直接影响着服务器的性能、稳定性和资源利用率。 【描述】中提到了JVM参数调优的两个关键方面:内存管理和垃圾回收(GC)机制。内存管理主要涉及JVM启动时分配给应用程序的初始内存和...
Tomcat7 的 JVM 参数配置主要是通过修改 catalina.sh 文件来实现的。具体来说,可以添加以下内容: JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" 其中,-Xms1024m 指定了...
### Tomcat 7 在Windows环境下以Service方式启动的配置与启动参数详解 #### 一、引言 在实际的企业级应用开发与部署过程中,Tomcat作为一款轻量级且功能强大的应用服务器,被广泛应用于Java Web项目的运行环境。...
### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...
它包含了MySQL服务器的启动参数和配置选项,如端口号、最大连接数、日志设置等。但在这里,由于没有提供具体的信息,我们无法深入讨论,只能将其作为一个可能的上下文背景。 综上所述,解决Tomcat的乱码问题需要...
JVM(Java Virtual Machine)是Java程序运行的环境,其配置直接影响到应用的启动速度、运行效率和稳定性。在`tomcat连接池设定.docx`文档中,可能包含以下几方面的配置: 1. **堆内存分配**:通过`-Xms`和`-Xmx`...
为了确保Tomcat能够高效稳定地运行,合理配置其启动参数至关重要,尤其是与内存相关的参数。本文将详细介绍如何在Tomcat中设置启动参数,并探讨这些参数的具体含义及其最佳实践。 #### 二、Tomcat启动参数概述 在...
合理配置Eclipse和Tomcat中的JVM参数对于提高开发效率、确保应用程序稳定运行具有重要意义。通过对JVM参数的正确设置,可以有效避免内存溢出等问题,从而提高系统的整体性能。希望本文能帮助读者更好地理解和掌握这...
本篇文章将深入探讨Tomcat的启动参数配置和监控参数设置,以及如何利用jVisualVM工具来监控Tomcat的运行状态。 一、Tomcat启动参数配置 1. **基本启动参数**: - `-D<name>=<value>`:定义系统属性,例如`-Djava....
标题 "ECLIPSE,TOMCAT,JVM内存设置" 涉及到的是在开发Java Web应用程序时,如何配置Eclipse集成开发环境(IDE)、Apache Tomcat服务器以及Java虚拟机(JVM)的内存参数,以优化性能和避免内存溢出等问题。...
总结而言,该文档覆盖了Tomcat服务器优化、JVM参数调整、字节码级别的优化以及代码层面的优化等多个方面,旨在通过一系列配置和操作,提升Java应用以及Web服务器的性能和效率。同时,也提到了性能测试的重要性和在...
本篇文章将深入探讨JVM参数调优以及如何针对Tomcat进行优化。 首先,JVM调优主要包括堆内存分配、垃圾收集器选择、线程池配置、类加载机制调整等方面。堆内存是Java应用的主要内存区域,分为新生代、老年代和永久代...
### Tomcat服务参数配置详解 #### 一、Tomcat简介及安装 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)技术的支持,并提供了作为Web...
正确配置Tomcat的JVM内存和连接器参数,对于优化Web应用性能、提升用户体验至关重要。通过对`-Xms`、`-Xmx`等参数的细致调整,结合适当的垃圾回收策略,以及合理设置连接器参数,可以显著增强Tomcat服务器的稳定性和...
针对不同的并发量和服务器内存,我们需要调整JVM启动参数来优化内存分配。 1. **标准参数**(-):所有JVM实现都必须支持,如`-server`选择服务器模式运行JVM。 2. **非标准参数**(-X):如`-Xms`设置初始堆大小,...
server.xml 文件用于配置 Tomcat 的连接器参数,而 catalina.bat/catalina.sh 文件用于设置 JVM 的启动参数。 7. Tomcat 连接器优化:Tomcat 的连接器参数可以通过 server.xml 文件来配置,包括 maxThreads、...
1. **堆内存大小**:`-Xms`和`-Xmx`分别设置JVM启动时和最大可用的堆内存大小。根据服务器硬件和应用需求,适当调整这两个值可以防止内存溢出或过早垃圾回收。 2. **新生代和老年代大小**:`-Xmn`设置年轻代大小,`...
本文将深入探讨Tomcat的配置方法,帮助你更好地理解和管理你的Web应用。 首先,让我们从基础开始,了解Tomcat的目录结构。在解压Tomcat安装包后,你会看到几个主要的目录和文件: 1. **bin**:包含启动和停止...
**vm**:这个文件名可能是不完整的,但它可能是指Java虚拟机(JVM)的配置,比如`jvm.options`,用于设置JVM的启动参数,如内存分配、垃圾回收策略等,这直接影响Tomcat的性能。 综上所述,这个压缩包提供了一套...