在catalina.sh启动脚本中增加如下配置:
JAVA_OPTS="-server -Xms1024m -Xmx3G -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=20 -XX:+HeapDumpOnOutOfMemoryError -XX:NewRatio=3 -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintHeapAtGC -Xloggc:/usr/local/tomcat1/gc.log -XX:HeapDumpPath=/usr/local/tomcat1/heap.dump"
然后后续可以在注意观察一下。
具体参数的意思:
-server 启动jvm的server模式,该模式启动的时候较慢,但在正式环境中对jvm性能有一定优化作用
-Xms1024m 初始化内存大小
-Xmx3G 最大内存大小
-XX:+UseAdaptiveSizePolicy 使用并行垃圾处理器的时候,优化内存中年轻代和年老代的比例
-XX:+UseParallelGC 年轻代使用并行垃圾收集器
-XX:+UseParallelOldGC 年老代使用并行垃圾收集器
-XX:ParallelGCThreads=20 并行垃圾收集器的线程数量
-XX:+HeapDumpOnOutOfMemoryError 在程序出发OutOfMemoryError的时候,导出堆信息
-XX:NewRatio=3 设置年轻代在整个堆内存的大小(例如目前jvm内存为1G,则年轻大大小为1G * (1 / (1 + 3)) = 250M,年老代为1G - 250M = 700M),因为本web项目中,有一些数据是初始化就加载到内存中,因此可以略微设置较大的年老代内存大小,以减少Full GC。
-XX:PermSize=128m 设置永久代内存大小,该大小会影响到类的加载,因为spring、hibernate等大量使用代理模式,会动态创建很多新的类,因此需要设置该,如果不设置可能导致程序 PermGen Space Error
-XX:MaxPermSize=256m 设置永久代的最大 大小
-XX:+PrintGCDetails 记录GC详细信息
-XX:+PrintGCTimeStamps 记录GC发生的时间,已程序启动多少秒的形式记录
-XX:+PrintGCApplicationConcurrentTime GC时应用并发执行的时间
-XX:+PrintGCApplicationStoppedTime GC时,应用程序停止的时间
-XX:+PrintHeapAtGC GC前后,输出各个内存区域大小
-Xloggc:/usr/local/tomcat1/gc.log 记录GC日志,设置日志路径
-XX:HeapDumpPath=/usr/local/tomcat1/heap.dump 在程序出发OutOfMemoryError的时候,导出堆信息的路径
分享到:
相关推荐
【标题】"Tomcat JVM参数调优"涉及的是在运行Apache Tomcat服务器时优化Java虚拟机(JVM)性能的过程。Tomcat是一个流行的开源Java应用服务器,它用于部署和运行Java Servlets和JavaServer Pages(JSP)。由于JVM是...
### Tomcat JVM内存优化(Linux环境) 在Linux环境下运行Tomcat服务器时,经常会遇到与Java虚拟机(JVM)相关的内存溢出问题。这些问题通常表现为`java.lang.OutOfMemoryError`异常,具体又分为两类:`PermGen ...
### Tomcat JVM内存设置方法详解 #### 一、前言 Tomcat作为一款广泛使用的Java应用服务器,其性能优化一直是开发者关注的重点之一。而在性能优化的过程中,合理设置JVM(Java Virtual Machine)内存是非常关键的一...
标题中的“关于tomcat乱码以及...综上所述,解决Tomcat的乱码问题需要正确配置字符编码,而处理JVM内存溢出则需优化内存分配和垃圾收集策略。对于MySQL的配置,理解`my.cnf`文件的内容对于数据库的高效运行也至关重要。
### Tomcat-JVM优化策略详解 #### 一、理解Tomcat与JVM的关系 Tomcat作为一款开源的Servlet容器,其运行依赖于JVM(Java虚拟机)。这意味着,要优化Tomcat的性能,首先需要对JVM进行合理的配置。本文将深入探讨...
JVM优化入门,优化tomcat执行效率提高tomcat请求响应效率。基于CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽量减少应用的暂停时间,减少full gc发生的几率,利用和应用程序线程并发的垃圾...
本篇文件内容主要介绍了JVM优化的第三部分,重点围绕Tomcat参数调优、JVM参数调优、JVM字节码优化以及代码优化等几个方面。下面是针对这些知识点的详细解释: 1. Tomcat参数调优 在Tomcat参数调优部分,首先介绍了...
Tomcat性能优化及JVM内存工作原理 Tomcat性能优化是指通过调整Tomcat服务器的配置和JVM的参数,以提高Tomcat服务器的性能和响应速度。Tomcat性能优化主要包括代码层优化、JVM内存优化和应用配置优化三方面。 代码...
【描述】:“Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优”重复强调了对Tomcat7版本的性能调整,这可能涉及到内存管理、线程池设置、连接器配置、JVM参数优化等多个方面。性能调优的目标是提高...
1 什么是性能优化\ 2 性能测试与优化\ 3 性能优化JVM篇\ 4 性能优化Tomcat篇\ 5 性能优化mysql篇\
其次,Tomcat JVM配置对于优化Web应用性能至关重要。JVM(Java Virtual Machine)是Java程序运行的环境,其配置直接影响到应用的启动速度、运行效率和稳定性。在`tomcat连接池设定.docx`文档中,可能包含以下几方面...
本资料集围绕四个核心主题展开:Redis集群、JVM调优、MySQL 5.6性能优化和Tomcat 7的优化,旨在帮助开发者和运维人员更好地理解和实践这些关键领域的优化策略。 首先,Redis是一个高性能的键值存储系统,常用于缓存...
标题 "ECLIPSE,TOMCAT,JVM内存设置" 涉及到的是在开发Java Web应用程序时,如何配置Eclipse集成开发环境(IDE)、Apache Tomcat服务器以及Java虚拟机(JVM)的内存参数,以优化性能和避免内存溢出等问题。...
然而,为了确保应用的高性能和稳定性,对Tomcat的JVM进行优化是必不可少的环节。本文将深入探讨Tomcat JVM调优的关键技术和实践策略。 一、理解JVM Java虚拟机(JVM)是Java程序运行的基础,它负责执行字节码、...
### Tomcat JVM 内存调整方法与原理 #### 一、背景介绍 在日常的运维工作中,经常会遇到 Tomcat 应用服务器出现内存溢出的问题,表现为 `java.lang.OutOfMemoryError` 异常。这类问题通常是由于 JVM(Java 虚拟机...
总结,Tomcat性能优化涉及JVM、Tomcat配置、Web应用、代码质量以及监控等多个层面,需要结合实际业务场景进行综合考虑。只有全面了解并掌握这些优化策略,才能使Tomcat在运行大型复杂应用时保持高效、稳定。
在进行Tomcat优化时,需要从多个维度入手,包括但不限于配置优化、部署与测试、参数调整、源码理解以及JVM参数调整等。 配置优化是Tomcat性能优化的第一步,也是最基础的一步。首先,应该选择合适的Tomcat版本进行...
这篇文章将深入探讨Tomcat调优与JVM参数优化的各个方面,帮助你提升服务器性能。 首先,我们来了解一下Tomcat调优的基础知识。Tomcat调优主要包括以下几个方面: 1. **线程池配置**:调整`maxThreads`和`...
【Tomcat7优化】 Tomcat7是Apache Tomcat服务器的一个版本,主要负责运行Java Servlets和...总之,Tomcat7的优化涉及多个层面,需要综合考虑服务器硬件、软件配置以及JVM参数设置,通过实验和监控找到最佳的配置组合。