tomcat jvm参数设置_me

来源:互联网 发布:ipad版淘宝怎么看直播 编辑:程序博客网 时间:2024/05/22 09:39

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     cachedMem:           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 后调整堆的大小。

0 0
原创粉丝点击