您的位置:首页 > 运维架构 > Tomcat

tomcat jvm参数设置_me

2015-11-11 16:23 537 查看
windows下修改JVM内存大小:

  情况一:解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置

  要添加在tomcat 的bin 下catalina.bat 里

  rem Guess CATALINA_HOME if not defined

  set CURRENT_DIR=%cd%后面添加,红色的为新添加的.

  set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

  

  情况二:安装版的Tomcat下没有catalina.bat

  windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

  修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

  原值为

  -Dcatalina.home=”C:\ApacheGroup\Tomcat 5.0”

  -Djava.endorsed.dirs=”C:\ApacheGroup\Tomcat 5.0\common\endorsed”

  -Xrs

  加入 -Xms300m -Xmx350m

  重起tomcat服务,设置生效

 

  摘自:网络先锋

jvm参数说明:

  -server 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳

  -Xms java Heap初始大小。 默认是物理内存的1/64。

  -Xmx java heap最大值。建议均设为物理内存的80%。不可超过物理内存。

  -Xmn java heap最小值,一般设置为Xmx的3、4分之一。

  -XX:PermSize 设定内存的永久保存区初始大小,缺省值为64M。

  -XX:MaxPermSize 设定内存的永久保存区最大大小,缺省值为64M。

  -XX:SurvivorRatio=2 生还者池的大小,默认是2。如

  -XX:NewSize 新生成的池的初始大小。 缺省值为2M。

  -XX:MaxNewSize 新生成的池的最大大小。 缺省值为32M。

  +XX:AggressiveHeap 让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。

  -Xss 每个线程的Stack大小

  -verbose:gc 现实垃圾收集信息

  -Xloggc:gc.log 指定垃圾收集日志文件

  -XX:+UseParNewGC 缩短minor收集的时间

  -XX:+UseConcMarkSweepGC 缩短major收集的时间

  -XX:userParNewGC 可用来设置并行收集(多CPU)

  -XX:ParallelGCThreads 可用来增加并行度(多CPU)

  -XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)

  

参数剖析:(linux,物理内存.  运行着9个tomcat(4台同样的配置)。一个memcache,一个ngnix)

          

[root@192.168.1.1 ~]free -h

total       used       free     shared    buffers     cached
Mem:           62G        59G       3.8G       404K       198M        11G
-/+ buffers/cache:        46G        15G
Swap:         952M       286M       666M


JAVA_OPTS=”$JAVA_OPTS

  -server — 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳

  -Dbdyx.sys.server.type=online 『提供给程序使用的参数』

  -Dbdyx.sys.logger.path=/home/work/logs 『提供给程序使用的参数』

  -DserverName=m1131 『给客户端访问时添加的参数,便于排错』

  -Didc=m1131 『提供给程序使用的参数』

   -Xms16g 『java Heap初始大小。JVM初始化堆的大小【初始化内存大小】』

  -Xmx16g 『java heap最大值。JVM堆的最大值【可以使用的最大内存】』

  -Xmn1024m 『heap最小值,一般设置为Xmx的3、4分之一。为Eden对象设定初始Java堆的大小。server下默认:2M。 』

  -XX:PermSize=512m 『设定内存的永久保存区初始大小,缺省值为64M。』

  -XX:MaxPermSize=512m 『设定内存的永久保存区最大大小,缺省值为64M。』

  -XX:SurvivorRatio=1 『改变Eden对象空间和残存空间的尺寸比例,这个比例的缺省值是10。 』

  -XX:MaxTenuringThreshold=7”

说明:

  JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat