`
frank1998819
  • 浏览: 752088 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

Tomcat JVM 参数设置(转)

 
阅读更多

例如下面的: 

set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=2 

希望从JVM的角度 去解释 。

 Xmx512m

-Xms512m 堆的最小值 
-Xmx1024m 堆的最大值 
另外hotspot垃圾回收采用分代搜集的方法,把堆分为三个部分,新域,旧域和永久域。Jvm生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域并且不认为是堆的一部分 
-XX:MaxPermSize=2设置永久域的最大值, 
-XX:PermSize=256M设置永久域的初始值(你的例子显然有问题)

------------------------

 

JAVA_OPTS

 

例如:

-Xms512m -Xmx512m -XX:MaxPermSize=512m -XX:+AggressiveHeap

http://www.blogjava.net/yanzhou/archive/2006/09/13/69384.aspx

-Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap

1. +XX:AggressiveHeap会使得 Xms 1220m没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
另外Xmx作为允许jvm使用的最大内存数量,不应该超过物理内存的90%。
而之所以使用了这个参数,是因为不加的话,JBoss会在运行一天左右的时间后迅速崩溃,上机课是,甚至出现过半个小时就崩溃的情况。
之所以要用这个参数,用swap支持服务器运行,是因为犯了下面的错误:
2. -Xss 15120k 
这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
这就是JBoss刚启动时,还有200Mb内存富余,但会在一个小时内迅速用完,因为服务器的threads在迅速增加。前3天,每天都多吃80Mb左右的swap.在第四天开始稳定下来。今年春节在外度假,观察到了这个现象,却不理解其原因:服务器在线程到达100之后,一般不再增加新的线程,新增加的在用完之后,会被迅速destroy,??褂玫哪诖嬉不厥樟恕R虼耍?旁诖航谄诩洌?鄄斓椒?衿髟?1.25-2.10所使用的线程基本是1.21-1.23创建的,因此没有再消耗新的内存。服务器持续运行时间,也因此大大超乎我5天的预期,到达了20天。

昨天所作的修改:
1.修改JAVA_OPTS,去掉+XX:AggressiveHeap,修改Xss。现在的JAVA_OPTS为:
-Xms 520m -Xmx 900m -Xss 128k
2.修改deploy/jbossweb-tomcat55.sar/service.xml
将maxThreads根据目前的访问量由默认的250降为75,并使用jboss 4默认未写在标准service.xml里面而jboss 3写入了的2个参数: maxSparseThreads=55,minSparseThreads=25
3.修改了oracle-ds.xml将最大连接数有150降为50.
4.去掉了一些不用的服务。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

===========================================

tomcat,当上传大文件大于10M 时就会出现内存溢出,解决方法:在系统的环境变量中添加 JAVA_OPTS=-Xms64m -

分享到:
评论

相关推荐

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    Tomcat JVM的参数调优

    【标题】"Tomcat JVM参数调优"涉及的是在运行Apache Tomcat服务器时优化Java虚拟机(JVM)性能的过程。Tomcat是一个流行的开源Java应用服务器,它用于部署和运行Java Servlets和JavaServer Pages(JSP)。由于JVM是...

    eclipse与tomcat的JVM设置

    1. **查看当前配置**:首先查看当前JVM参数设置是否合理。 2. **调整JVM参数**:根据应用程序的实际需求调整JVM参数。 - 例如:可以将初始堆内存大小设为256MB,最大堆内存大小设为512MB。 - 将永久代的初始大小设...

    eclipse中对jvm进行设置

    - 参数设置错误,例如`-Xms`大于`-Xmx`,或者`-XX:PermSize`大于`-XX:MaxPermSize`。 - 总内存需求超过了JVM内存的最大限制,这可能受到操作系统或物理内存的约束。 3. **eclipse.ini配置**: 在eclipse.ini文件...

    ECLIPSE,TOMCAT,JVM内存设置

    标题 "ECLIPSE,TOMCAT,JVM内存设置" 涉及到的是在开发Java Web应用程序时,如何配置Eclipse集成开发环境(IDE)、Apache Tomcat服务器以及Java虚拟机(JVM)的内存参数,以优化性能和避免内存溢出等问题。...

    JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).pdf

    本篇文件内容主要介绍了JVM优化的第三部分,重点围绕Tomcat参数调优、JVM参数调优、JVM字节码优化以及代码优化等几个方面。下面是针对这些知识点的详细解释: 1. Tomcat参数调优 在Tomcat参数调优部分,首先介绍了...

    tomcat7安装使用及jvm连接数参数调优

    Tomcat7 安装使用及 JVM 连接数参数调优 Tomcat7 是一个流行的 Java Web 服务器,主要用于部署和管理基于 Java 的 Web 应用程序。为了确保 Tomcat7 的稳定运行和高效性能,需要对其进行合理的安装、配置和优化。...

    关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论

    标题中的“关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论”涉及了两个关键的IT概念:Tomcat服务器的字符编码问题和Java虚拟机(JVM)内存管理的问题。让我们逐一深入探讨这两个主题。 首先,我们来...

    Tomcat6参数设置

    ### Tomcat6参数设置详解 #### 一、内存参数配置 Tomcat作为一款广泛使用的Java应用服务器和Web容器,其性能优化尤为重要。特别是在资源管理方面,合理地设置内存参数能够显著提升应用程序的运行效率和稳定性。 *...

    Tomcat 调优及 JVM 参数优化

    为了确保这些应用高效、稳定地运行,调优Tomcat和JVM参数至关重要。这篇文章将深入探讨Tomcat调优与JVM参数优化的各个方面,帮助你提升服务器性能。 首先,我们来了解一下Tomcat调优的基础知识。Tomcat调优主要包括...

    java缓存代码,tomcat JVM配置

    5. **线程池设置**:通过`maxThreads`和`minSpareThreads`等参数调整Tomcat的工作线程数量,避免过多线程导致资源浪费,也防止线程不足影响响应速度。 6. **其他优化选项**:比如开启压缩、禁用无用的服务模块、...

    tomcat jvm内存修改

    - **调整 Heap 大小**:通过 `-Xms` 和 `-Xmx` 参数设置 Heap 的初始大小和最大值。 - **优化对象生命周期管理**:合理设计对象的生命周期,减少无用对象的创建。 - **检查并修复内存泄漏**:使用工具(如 VisualVM...

    Tomcat JVM调优-TomcatJVM.zip

    通常,可以通过-Xms和-Xmx参数设置初始堆大小和最大堆大小,如`-Xms256m -Xmx1024m`。 2. 新生代与老年代:新生代主要存放新创建的对象,老年代存放存活时间较长的对象。新生代和老年代的比例可以通过-XX:NewRatio...

    Tomcat-启动参数设置

    ### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...

    设置tomcat的jvm虚拟机大小

    设置 Tomcat 的 JVM 虚拟机大小 ...9. Tomcat 优化:Tomcat 的优化可以通过设置连接器参数、JVM 的内存大小和垃圾回收机制来实现。此外,还可以通过调整堆的大小、垃圾回收机制和连接器参数来优化 Tomcat 的性能。

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    3. **利用注册表**:对于Windows环境下的Tomcat,还可以通过修改注册表来调整JVM参数。具体路径为`HKEY_LOCAL_MACHINE\SOFTWARE\ApacheSoftwareFoundation\TomcatServiceManager\Tomcat6\Parameters\JavaOptions`,...

    jvm虚拟机参数调优,tomcat调优

    本篇文章将深入探讨JVM参数调优以及如何针对Tomcat进行优化。 首先,JVM调优主要包括堆内存分配、垃圾收集器选择、线程池配置、类加载机制调整等方面。堆内存是Java应用的主要内存区域,分为新生代、老年代和永久代...

    Tomcat 55 Tomcat 6 安装64 JVM

    总结一下,安装64位JVM在Tomcat 55和Tomcat 6中的步骤包括:下载并安装64位JDK或JRE,设置`JAVA_HOME`环境变量,修改Tomcat启动脚本,以及调整内存参数。确保这些配置正确无误,你的Tomcat实例就能充分利用64位系统...

    关键业务系统JVM参数推荐

    本文将详细介绍一些常用的JVM参数设置,这些参数适用于线上关键业务系统,并且具有较高的通用性。 #### 二、学习资源推荐 1. **开源项目启动脚本**:参考成熟的开源项目如ElasticSearch和Cassandra的启动脚本可以...

Global site tag (gtag.js) - Google Analytics