JVM配置如下:
JAVA_OPTS="$JAVA_OPTS -server -Xmn1024M -Xms4096M -Xmx4096M -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dorg.apache.catalina.connector.RECYCLE_FACADES=false -XX:PermSize=512M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0 -XX:CMSInitiatingOccupancyFraction=81 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:gc.log -XX:+PrintGCDetails -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=29010 -Dcom.sun.management.jmxremote.ssl=false"
以上配置参数说明:
-XX:+UseCMSInitiatingOccupancyOnly 仅仅使用手动定义初始化定义开始CMS收集
-XX:+UseConcMarkSweepGC 使用CMS内存收集
-XX:+UseParNewGC 允许多线程收集新生代
-XX:+CMSParallelRemarkEnabled 降低标记停顿
-XX+UseCMSCompactAtFullCollection 在FULL GC的时候, 压缩内存, CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯
-XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。
-XX:+UseFastAccessorMethods 原始类型的快速优化
XX:SurvivorRatio=65536决定了新生代中eden与survivor的空间比例是65536:1,这里设置为65536的目的是不使用survivor的空间
-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。
-XX:CMSInitiatingOccupancyFraction=70 CMS堆上, 使用70%后开始CMS收集。
-XX:SoftRefLRUPolicyMSPerMB=0是测量一个软引用存活的时间指标,用于使heap中的可用空间达到规定数量。默认值为每兆1000毫秒。这可理解为,对于heap中每兆大小的可用空间而言,一个软引用有1秒的存活时间(在最后一个强引用的对象被回收后)。这个1秒的估算已非常接近真实状态了
由于Tocmat6存在一个BUG,以上的配置会引起JVM产生大量的FULL GC,在Tomcat一启动的时候就会FULL GC。解决的办法是在server.xml中增加如下项即可解决
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" gcDaemonProtection="false"
/>
分享到:
相关推荐
Tomcat是Apache软件基金会下的一个开源项目,它是一个轻量级的应用服务器,特别适合运行Java Web应用。Tomcat基于Java Servlet和Java EE的Web部分标准。 **配置Tomcat服务器** 1. **环境变量**:配置JAVA_HOME指向...
【描述】:Tomcat是Apache软件基金会下的Jakarta项目中的一个核心项目,是一个开源的轻量级Web应用服务器,主要用于执行Java Servlet和JavaServer Pages(JSP)技术。Java.Web是指基于Java技术的Web开发体系,包括...
1. **Tomcat简介**:Tomcat是一个开源的、轻量级的Java Servlet容器,用于运行Java Web应用程序,特别是基于Java EE的JSP和Servlet。它由Apache软件基金会维护,是许多Web开发者的首选服务器。 2. **安装与环境配置...
在Windows环境下,64位版本的Tomcat能够利用更多的内存,对于处理大型应用或高并发场景是有优势的。下载Tomcat时,用户需要确保其与操作系统兼容,否则可能会出现运行问题。 【标签】"tomcat"进一步强调了主题是...
Tomcat是一款开源的轻量级Web应用服务器,它是Apache软件基金会Jakarta项目的一部分,主要用于执行Java Servlet和JavaServer Pages(JSP)。由于其小巧、快速且易于配置的特点,Tomcat在Java Web开发中广泛应用。 ...
《Tomcat配置方法》PDF教程全面解析 在Java Web开发领域,...本PDF教程将详细指导读者如何配置和管理Tomcat服务器,确保Web应用程序的稳定运行。通过学习,你将能够应对各种复杂的部署场景,提高开发和运维效率。
《Tomcat与Java.Web开发技术详解》是一本深入探讨Java Web应用服务器——Tomcat以及相关开发技术的专业书籍。光盘附带的"sourcecode1"文件可能是书中示例代码或练习项目的源码,旨在帮助读者更好地理解和实践所学...
在构建企业级高负载Web服务器时,Tomcat是一款非常受欢迎的开源Java应用服务器,尤其适合处理Web应用程序。本文将深入探讨如何使用Tomcat来搭建这样的环境,并涉及与之相关的技术,如Java JDK、多版本Tomcat管理和...
Tomcat提供了一个内置的Web应用程序管理界面,可以管理和配置context、数据源、用户和组等。要启用此功能,需修改`CATALINA_BASE/webapps/admin.xml`文件,确保`docBase`参数指向正确的绝对路径。同时,在`CATALINA...
在CentOS 7环境下搭建和配置Java应用服务器,如Tomcat和Nginx,是企业IT基础设施中的常见任务。这个过程涉及到多个步骤,包括安装必要的软件、配置安全性和优化性能,确保服务稳定运行。以下是对标题和描述中所述...
将Web应用程序打包为WAR文件,然后将其复制到Tomcat的`webapps`目录下。Tomcat会自动检测新文件并进行部署。如果希望在特定的Context Path下运行应用,可以创建一个`META-INF/context.xml`文件来指定。 **4. 启动与...
5. **易于部署和管理**:Tomcat提供了简单便捷的部署和管理工具,支持热部署,即在不中断服务器运行的情况下更新Web应用。 6. **高并发处理能力**:采用多线程技术,能够同时处理大量请求,适用于高流量网站。 7. **...
Apache Tomcat 8.0.51作为一个轻量级的Web服务器,适合小型到中型的Java Web应用。由于其开源和社区支持的特点,开发者可以自由地定制和扩展以满足特定需求。然而,对于大型企业级应用,可能需要更强大的服务器,如...
在Linux系统,特别是CentOS 7环境下,安装和配置Apache Tomcat 8.5是部署Java Web应用程序的关键步骤。Tomcat作为一个开源的轻量级应用服务器,主要用于运行Servlet和JSP应用。下面是详细的安装和配置过程: **1. ...
5. **部署Web应用**:将WAR文件或解压后的目录放到webapps目录下,Tomcat会自动检测并部署应用。也可以通过管理工具如Manager App来部署。 6. **日志与错误处理**:Tomcat的日志文件默认位于logs目录下,包括...
Tomcat以其轻量级、高效和易于管理的特点,被广泛应用于各种规模的企业级应用中。 第二章主要围绕Tomcat的实际应用场景展开,涵盖了以下几个核心知识点: 1. **Tomcat的安装与配置**:首先,你需要知道如何在不同...
1. **WAR部署**:将你的Web应用打包为WAR文件,将其放入`webapps`目录下,Tomcat会自动解压并部署。 2. **目录部署**:若希望直接部署未打包的目录,只需将目录复制到`webapps`下,Tomcat会检测到新目录并启动应用...
理解如何配置server.xml文件以定义虚拟主机、设置端口、管理应用上下文以及部署Web应用程序是每个Tomcat用户必须掌握的基本技能。此外,日志管理、错误处理和安全性配置也是开发者关注的重点,以确保应用的稳定性和...
在Tomcat的web应用程序目录下,有一个名为"manager"的应用,通过浏览器访问`http://localhost:8080/manager/status`(这里的"localhost"和"8080"需替换为实际的IP地址和端口号)。登录后,管理界面会显示JVM的内存...