通过在tomcat启动脚本中添加相关参数生成gc日志
-verbose.gc开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。
打开-xx:+ printGCdetails开关,可以详细了解GC中的变化。
打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发生的时间,自JVM启动以后以秒计量。
最后,通过-xx: + PrintHeapAtGC开关了解堆的更详细的信息。
为了了解新域的情况,可以通过-XX:=PrintTenuringDistribution开关了解获得使用期的对象权。
-Xloggc:$CATALINA_BASE/logs/gc.log gc日志产生的路径
XX:+PrintGCApplicationStoppedTime // 输出GC造成应用暂停的时间
-XX:+PrintGCDateStamps // GC发生的时间信息
分析gc日志后,经常需要调整jvm内存相关参数,常用参数如下
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2 survivor space)。与jmap -heap中显示的New gen是不同的。整个堆大小=新生代大小 + 老生代大小 + 永久代大小。
在保证堆大小不变的情况下,增大新生代后,将会减小老生代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-XX:SurvivorRatio:新生代中Eden区域与Survivor区域的容量比值,默认值为8。两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10。
-Xss:每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。应根据应用的线程所需内存大小进行适当调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。一般小的应用, 如果栈不是很深, 应该是128k够用的,大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"-Xss is translated in a VM flag named ThreadStackSize”一般设置这个值就可以了。
-XX:PermSize:设置永久代(perm gen)初始值。默认值为物理内存的1/64。
-XX:MaxPermSize:设置持久代最大值。物理内存的1/4。
相关推荐
### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...
一、Tomcat启动参数配置 1. **基本启动参数**: - `-D<name>=<value>`:定义系统属性,例如`-Djava.awt.headless=true`用于无头模式运行。 - `-cp`或`-classpath`:指定类路径,包含所有依赖的JAR文件和目录。 -...
### Tomcat启动参数调优详解 #### 一、概述 在现代软件开发中,服务器性能优化至关重要,尤其是在高并发场景下。Tomcat作为一款广泛使用的Java应用服务器,其性能直接影响到应用程序的响应速度与稳定性。本文主要...
#### 二、Tomcat启动参数概述 在Tomcat中,可以通过修改`bin`目录下的脚本文件来设置启动参数。对于Windows环境,主要通过编辑`tomcat7w.exe`或`catalina.bat`来实现;而在Linux环境下,则是通过编辑`catalina.sh`...
#### 三、配置Tomcat启动参数的重要性 在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: Perm...
Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多、比较吃内存的应用来说,这是不够的。我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存。 下面就是众所周知的...
1. **修改Tomcat启动参数**:可以通过设置环境变量`-Djava.security.egd=file:/dev/urandom`来让Tomcat使用`/dev/urandom`作为随机数来源。`/dev/urandom`同样可以生成随机数,但它不会因为噪声不足而阻塞,而是返回...
Tomcat默认可以使用的内存很小,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整...
调整Tomcat启动参数 - **增加日志输出**:通过在`catalina.bat`或`catalina.sh`文件中添加日志输出相关的参数(如`-Dcatalina.out=stdout`),可以在控制台输出更多调试信息,有助于问题定位。 - **修改启动脚本**...
要启用Tomcat启动调试功能,需要在catalina.bat文件中添加以下调试参数: ``` -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9527,suspend=n ``` 这行代码告诉Tomcat服务器启用调试模式,并将调试端口...
【标题】:Tomcat启动管理工具 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,主要用于部署和运行Servlet和JSP应用。Tomcat以其轻量级、易配置和高性能的特点深受开发者喜爱。"Tomcat启动管理工具"指...
### tomcat启动不了问题处理 在IT领域,Tomcat服务器是一款非常流行的开源Web服务器,它主要用来部署Java Web应用程序。然而,在使用过程中,用户可能会遇到Tomcat无法启动的问题。本文将详细探讨导致Tomcat启动...
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
**Tomcat启动原理解析** Tomcat作为一款广泛使用的开源Java应用服务器,其启动过程涉及了众多关键步骤和组件的协同工作。理解Tomcat的启动原理对于开发者来说至关重要,不仅有助于提升性能优化的能力,还能在遇到...
2.2 Tomcat启动参数优化 Tomcat作为Java应用服务器,其性能优化主要涉及JVM参数和Tomcat自身配置的调整。对于JVM优化,这里主要针对Oracle Sun的JDK 1.6及以上版本。 - 在Linux系统中,编辑`catalina.sh`,添加以下...
Tomcat启动分析与配置详解 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。理解Tomcat的启动过程和配置对于优化服务器性能和管理Web应用至关重要。本文将深入解析Tomcat的组成...
6. 调整内存:根据应用需求调整Tomcat启动参数,如`CATALINA_OPTS`,以优化性能。 7. 防火墙设置:确保允许Tomcat使用的端口通过防火墙。 以上就是关于Tomcat8.0服务容器的详细介绍,涵盖了Windows环境下安装和使用...
然而,在实际操作过程中,不少用户会遇到Eclipse中Tomcat启动失败的问题,这不仅影响了开发效率,也可能导致项目延期。本文将深入探讨这一问题,并提供一系列可能的解决方案,帮助开发者们有效应对Eclipse中Tomcat...