一般情况下:
JAVA_OPTS='-Xms2048m -Xmx2048m -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:ParallelGCThreads=8 -XX:+UseParallelOldGC -Xloggc:../logs/jvm-gc.log -XX:+PrintGCD
etails -XX:+PrintGCTimeStamps'
适合于实时要求比较高:
-Xms2048m -Xmx2048m -Xmn1024m -XX:+AggressiveOpts -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=16
容错
-XX:OnOutOfMemoryError=kill -9 %p
java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。
-Xms2048m
表示JVM Heap(堆内存)最小尺寸2048MB,初始分配
-Xmx2048m
表示JVM Heap(堆内存)最大允许的尺寸2048MB,按需分配。
说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。
PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space
MaxPermSize缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m
启动调试
DEBUG_PORT="8222"
DEBUG_SUSPEND="n"
JAVA_OPTS="-Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND"
分享到:
相关推荐
- **调整堆内存**:根据应用的实际负载和业务需求,合理设置初始堆内存(-Xms)和最大堆内存(-Xmx),避免频繁的垃圾回收和内存溢出问题。 - **考虑多代内存**:对于大型应用,可能需要更细致地调整新生代(-XX:...
### Tomcat启动参数调优详解 #### 一、概述 在现代软件开发中,服务器性能优化至关重要,尤其是在高并发场景下。Tomcat作为一款广泛使用的Java应用服务器,其性能直接影响到应用程序的响应速度与稳定性。本文主要...
通过对`-Xms`、`-Xmx`等参数的细致调整,结合适当的垃圾回收策略,以及合理设置连接器参数,可以显著增强Tomcat服务器的稳定性和效率。在实践中,持续监控应用的运行状况,根据实际需求动态调整配置,是实现最优性能...
### Tomcat服务参数配置详解... - 调整JVM内存大小,避免频繁的垃圾回收。 - 使用NIO或APR连接器提高并发处理能力。 通过以上步骤,可以完成Tomcat服务的基本安装配置以及参数调整,从而满足不同场景的应用部署需求。
1. **调整JVM参数**:在Tomcat的启动脚本(如`catalina.sh`或`catalina.bat`)中,可以通过设置JVM的启动参数来控制内存大小。常用的是-Xms和-Xmx参数,分别代表初始堆内存和最大堆内存。例如,可以设置为`-Xms256m ...
此外,内存配置还会影响垃圾回收机制的效率,进而影响到整个系统的稳定性和性能表现。 ### 理解Tomcat内存配置命令 在题目提供的部分内容中,可以看到一个典型的Tomcat内存配置命令行示例: ```plaintext set ...
要启用这个功能,我们需要在Tomcat的配置文件`conf/tomcat-users.xml`中设置相应的角色和用户。在上述给出的XML片段中,我们看到了四个预定义的角色:`tomcat`、`role1`、`manager`和`admin`,以及与之关联的用户。...
1. **配置文件设置不当**:启动参数中的`-Xms`和`-Xmx`分别表示JVM的初始堆内存大小和最大堆内存大小;`-XX:PermSize`和`-XX:MaxPermSize`则分别代表永久代的初始大小和最大大小。如果这些参数设置不合理,可能会...
如增加堆内存 `-Xms` 和 `-Xmx`,以避免频繁的垃圾回收;设置新生代大小 `-XX:NewRatio` 和 `-XX:SurvivorRatio`,优化对象分配策略;启用并行或并发垃圾收集器,如 `-XX:+UseParallelGC` 或 `-XX:+...
- **合理配置JVM内存**:根据服务器硬件和应用需求设定合适的内存分配,避免因内存不足导致的频繁垃圾回收。 - **定期重启Tomcat**:定期重启服务有助于释放不再使用的内存和避免长时间运行的副作用。 - **优化...
server.xml 文件用于配置 Tomcat 的连接器参数,而 catalina.bat/catalina.sh 文件用于设置 JVM 的启动参数。 7. Tomcat 连接器优化:Tomcat 的连接器参数可以通过 server.xml 文件来配置,包括 maxThreads、...
### Tomcat与Eclipse配置内存溢出解决方案 #### 背景介绍 在进行Web应用程序开发过程中,尤其是在使用Tomcat服务器结合Eclipse或MyEclipse等集成开发环境(IDE)时,开发者可能会遇到一个常见的问题——内存溢出。...
2. **年轻代内存溢出**:年轻代内存主要用于存放新创建的对象,如果年轻代内存设置过小,会导致频繁的垃圾回收,甚至出现内存溢出。 - **Xmn64m**:表示年轻代内存大小为64MB。 3. **永久代内存溢出**:永久代用...
同时,优化应用的内存使用,如减少对象创建和及时垃圾回收,也是提高Tomcat性能的重要手段。 总结来说,本文件主要讲解了如何在Windows Server上的Tomcat服务中调整内存配置,以避免内存溢出并提升服务性能。这涉及...
有两个参数用来设置虚拟机使用内存的大小:-Xms 和 -Xmx。-Xms 用于设置 JVM 初始化堆的大小,-Xmx 用于设置 JVM 堆的最大值。这些值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的...
2. **Tomcat内存配置**:Tomcat的内存配置主要是通过调整JVM的启动参数来实现的。这些参数包括`-Xms`(初始堆大小)、`-Xmx`(最大堆大小)、`-Xss`(每个线程的栈大小)和`-XX:MaxPermSize`(或`-XX:MetaspaceSize`...
【描述】中提到了JVM参数调优的两个关键方面:内存管理和垃圾回收(GC)机制。内存管理主要涉及JVM启动时分配给应用程序的初始内存和最大内存。这些设置可以通过`-Xms`和`-Xmx`命令行选项来调整。初始内存(`-Xms`)...