`
Tristan_S
  • 浏览: 361241 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JVM 设置与调优

 
阅读更多
JVM调优
1, 不是分配的内存越大越好, 内存越大full gc时处理的数据就越多,阻塞的时间就越长。
2, 如果系统小对象多,Young区最好大一点
3, 如果系统session对象多, Old区要大一点
4, 如果有大量的对象没有进过9次Young区迭代而是因为suvivor区不够了就进入old区时,需要调整SurvivorRatio 的比例
5, 有时需要导出head dump文件分析系统中有多少个对象,变化的趋势如何

http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

-----------------
JVM内存区域分为
栈内存 (虚拟机栈,本地方法栈, 计数器)
堆内存 (GC堆, 方法区)

方法区-即永久代, 存放class相关信息,常量池等。

GC堆分为 young区 old区 survivor区

垃圾收集算法
1, 复制算法  young区  默认8:1的比例 复制到survivor区, 新生代中的对象98%都是朝生夕灭的。

2, 标记-整理算法  old区  为了避免大量的不连续的内存碎片, 回收后将所有存活对象向一段移动。

垃圾收集器
1, Serial + Serial Old   单线程的  适用于client模式
2, ParNew + CMS  多线程版, 适用于server模式
3, Parallel  吞吐量优先 , 适合在后台运算而不需要太多交互的任务
4, G1 收集器, JDK7出来的新的收集器

CMS
初始标记 -- 并发标记 -- 重新标记 -- 并发清除

进入old区的方式
1, minorGC时 survivor 放不下
2, 大对象直接进入old区  需设置大小
3, 长期存活的对象    默认15次minorGC 还存活的



附HPSC的JVM配置

物理内存64G 32个CPU HPUX
共有4个instance,
每个instance占有7G的内存

-d64
-XX:MaxPermSize=768m
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-Xms7g
-Xmx7g
-XX:PermSize=768m
-XX:NewSize=2g    //年轻代
-XX:MaxNewSize=2g //  
-XX:CMSInitiatingOccupancyFraction=70
-Xverbosegc:file=./servers/producerA1.1/logs/gc.log
-XX:ParallelCMSThreads=4
-XX:CMSMarkStackSize=512M
-XX:CMSMarkStackSizeMax=512M
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:MaxTenuringThreshold=9
-XX:SurvivorRatio=6
-Dappserver.home.dir=/opt/sasuapps/itrc/domain/itrc/servers/producerA1.1
-Dfile.encoding=UTF-8
-Djavax.net.ssl.trustStore=/opt/bea/security/trustedCAs.jks
-Djava.util.logging.config.file=/opt/sasuapps/itrc/openportal1/config/openportal_logging.properties
-DLOG_ROOT=/opt/sasuapps/itrc/logs/producerA1.1
-Dcom.sun.org.apache.xml.internal.dtm.DTMManager=com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault
-Dcom.sun.management.jmxremote.port=40002
-Dcom.sun.management.jmxremote.password.file=/opt/sasuapps/itrc/perf/jmxremote.password
-Dcom.sun.management.jmxremote.ssl=false
-Dsbs.lifecycle=PROD
-Dsun.net.inetaddr.ttl=30
-Djava.awt.headless=true
-Dsbs.core.keystore.disable=true
-Dhttp.proxyHost=web-proxy.corp.hp.com
-Dhttp.proxyPort=8080
-Dhttp.nonProxyHosts=localhost|*.austin.hp.com|*.atlanta.hp.com|*.houston.hp.com
-Dehcache.disk.store.dir=/opt/sasuapps/itrc/global_resources/portlet/data/ehcache/producerA1.1
-d64


Producer 物理机器和instance的分布



  • 大小: 34.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics