tomcat jvm调优

JVM调优总结

堆(Heap)内存和非堆(Non-heap)内存

堆内存就是Java代码的,留给开发人员使用;

非堆内存是留给JVM自己使用的(方法区、JVM内部处理或优化所需要的内存、每个类结构以及方法和构造方法的代码)

Xms:JVM初始内存 默认是物理内存的1/64

Xmx:JVM最大可用内存,默认是物理内存的1/4

Xmn:设置年轻带大小

Xss:设置每个线程的堆栈大小

默认空余堆内存小于40%时,对内存会增大到Xmx的最大值;空余堆内存大于70%时,会减小到Xmx的最小值。

因此,服务器一般设置Xms和Xmx相等,来避免每次GC后调整堆的大小。

XX:PermSize  JVM初始分配的非堆内存,默认是物理内存的1/64

XX:MaxPermSize JVM最大非堆内存,默认是物理内存的1/4

如果Xmx设置的值过小或不设置,可能会导致java.lang.OutOfMemory

如果XX:MaxPermSize设置过小,可能会导致java.lang.OutOfMemoryError:PermGen space内存溢出

设置方法:

在tomcat/bin下有catalina.sh文件,位置在cygwin=false之前

# OS specific support.  $var _must_ be set to either true or false.

cygwin=false

比如,在上面两行之间加入如下内容

配置一:JAVA_OPTS="-Xms=3800m -Xmx=3800m -Xmn=2g -Xss=128k -XX:PermSize=1900m -XX:PermSize=3800m"

配置二:JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"

注意:Xmx和PermSize之和不可超过不可超过JVM可以获得的总内存

PermSize不可大于Xmx

参考文档

http://elf8848.iteye.com/blog/467460

http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html

时间: 2024-12-29 12:32:54

tomcat jvm调优的相关文章

Tomcat的JVM调优实战

一些调优点在上篇日志中已写到,在此不做说明 直接使用Jmeter进行调优测试吞吐量Code package cn; import java.io.IOException; import java.util.Map; import java.util.WeakHashMap; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Htt

JVM调优

转自:http://blog.csdn.net/chen77716/article/details/5695893 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小. 年轻代(N

jvm调优小结

不区分tomcat,resion等应用,主要是针对jvm调优 tomcat家目录下catalina.sh  catalina.bat 从http://unixboy.iteye.com/blog/174173 http://my.oschina.net/shootercn/blog/15393这个更详细 http://www.360doc.com/content/15/0429/15/7853380_466822446.shtml详细讲解-XX:ParallelGCThreads 学到了很多东西

tomcat配置调优与安全总结

作为运维,避免不了与tomcat打交道,然而作者发现网络上关于tomcat配置和调优安全的文章非常散,通过参考各位大神的相关技术文档,根据作者对tomcat的运维经验,总结了一些tomcat的基础运维注意事项,希望对广大技术兄弟们有些帮助. 1      功能优化 1.1     硬件资源对tomcat的影响 系统硬件性能直接影响tomcat的并发量,起决定作用的是CPU和MEM,CPU运行速度提升,会带来tomcat响应时间的缩短,mem大小决定工程需要内存的大小和工程的并发数量. 1.2  

使用JMeter对Tomcat进行压力测试与Tomcat性能调优

一.准备工作. 1.安装JDK1.6或1.6版本以后的,并配置环境变量. 2.在Apache的官网下载最新的Jmeter,http://jmeter.apache.org/download_jmeter.cgi,截止目前为止,最新的Jmeter是2.12版本,需要注意的是下载使用的时候不能下载source版本的,必须下载内容更加完整的binaray版本的,比如如果下载apache-jmeter-2.12_src.zip,运行jmeter.bat时,会出现下面的exception: unable

JVM调优知识

一.Java应用服务器 Tomcat.Nginx.Resin.等多种应用服务器,虽然JVM做为容器,提供的是一个Java Web的运行时环境,以支持Servlet/JSP等等这些内容的运行但是我们都很清楚,其本质上是还是一个Java应用程序.现在有哪些java应用服务器呢?商业的有BEA Weblogic Server.IBM Websphere Application Server.Oracle Application Server.Sybase EAServer.免费开源的java应用服务器

老男孩教育高端技术沙龙活动分享--JAVA JVM调优实战

本周末举办!,禁止空降,报名截止到5月8日19点报名方式见咨询QQ:  41117397 70271111电话: 01060747396  18911718229 18600338340官方群 246054962 208160987(标明51CTO) 报名条件:1.曾经支持关注老男孩博客及视频的朋友,需提供截图3条以上支持老男孩教育的评论(灌水不算).2.VIP运维班学员月薪低于9000(以提交的OFFER为准)或者没有实际维护JAVA环境(tomcat,resin等)的禁止报名.3.第10期以

JVM调优-工具篇

原文地址 16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来. jvm监控分析工具一般分为两类,一种是jdk自带的工具,一种是第三方的分析工具.jdk自带工具一般在jdk bin

Java虚拟机(五):JVM调优-命令篇

运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现问题的时候在终端输入一些命令来解决.所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究这些命令的使用也让我们更能了解jvm构成和特性. Sun JDK监控和故障处理命令有jps jstat j