`
wmswu
  • 浏览: 103896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

5.14日下午 jvm 调优 java社区日上的jvm调优

    博客分类:
  • java
阅读更多

5.14日下午  jvm 调优 java社区日上的jvm调优,这个哥们的pdf 很长 看着也很细 哈哈 分享给大家了(这个pdf 的主人啊 相信你共享没意见 那天讨论挺热烈的嘛嘿嘿)

另外还有个 工作中 从哪个谁谁谁那要来的 2个jvm相关的ppt 哈哈也分享个大家了...

摘点儿出来先睹为快哈哈

Java虚拟机的种类:

Oracle Java虚拟机
–原Sun Java虚拟机
–原BEA JRockit
–两种Java虚拟机,都运行在Windows、Linux、Solaris平台
HP Java虚拟机:
–与SUN JDK基本兼容,有自己独特的启动参数
–运行在HP UNIX上
IBM Java虚拟机:
–与Sun JDK基本兼容
–启动参数的写法风格与Sun JDK、HP JDK非常不同
–主要用于WebSphere、跑在AIX上的中间件服务器
开源Java虚拟机:
–与SUN JDK兼容

.......

Java虚拟机32 VS 64

尽量选择使用32位JDK:
–32位JDK在TPS测试中,结果比64位JDK要好;JDK 6.0启用指针压缩技术后,64位略微领先32位JDK
–主要适用于内存需求较小,CPU密集型应用
64位JDK主要用于大内存应用:
–突破4G内存限制
–吞吐量并没有提高
–主要用于大内存需求的系统
–尽量启用指针压缩技术
IBM: -Xcompressedrefs
SUN:-d64 -XX:+UseCompressedOops
BEA:-XXcompressedRefs=true

 

..........

常见GC算法:
–SUN、HP的GC算法
–JRockit的GC算法
–IBM JDK的GC算法

........

 

根据回收器,简单分为:
–串行–XX:+UseSerialGC
Out of Box算法,年轻代串行复制,年老代串行标记整理,主要用于桌面应用
–并行–XX:+UseParallelGC
年轻代暂停应用程序,多个垃圾收集线程并行的复制收集,年老代暂停应用程序,与串行收集器一样,单垃圾收集线程标记整理。JDK 6.0启用该算法后,默认启用了-XX:+UseParallelOldGC,性能大为提高
–并发(Concurrent Low Pause Collector) –XX:+UseConcMarkSweepGC
启用该参数,默认启用了-XX:+UseParNewGC;简单的说,并发是指用户线程与垃圾收集线程并发,程序在继续运行,而垃圾收集程序运行于其他CPU上。
–Garbage First (G1) Garbage Collector
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
SUN JDK 6.0 Update14引入,实际生产环境中还没有采用

 

常见GC算法--SUN、HP

并行算法示例:
–-server -Xms1536m -Xmx1536m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseParallelGC-XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -XX:SurvivorRatio=2 -XX:+DisableExplicitGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/tmp/server_gc$$.log
并发算法示例:
–-server -Xms1536m -Xmx1536m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC-XX:+UseParNewGC -XX:SurvivorRatio=2 -XX:MaxTenuringThreshold=16 -XX:+DisableExplicitGC -XX:+CMSPermGenSweepingEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSParallelRemarkEnabled -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/tmp/server_gc$$.log

 

常见GC算法--JRockit

根据回收器,简单分为:
–-XgcPrio:throughput
默认算法,主要用于桌面应用
–-XgcPrio:pausetime
-XgcPrio:pausetime -XpauseTarget:210ms 因为免费,所以最低只能设置到200ms。200ms是Real-Time JDK的分界线
–-XgcPrio:deterministic
动态调整的垃圾收集策略
示例:
–-Xms1024m -Xmx1024m -Xgcprio:pausetime -Xpausetarget=210ms -XgcReport -XgcPause -Xverbose:memory

 

常见GC算法--IBM
根据回收器,简单分为:
–-Xgcpolicy:optthruput
默认策略。对于吞吐量比短暂的GC 停顿更重要的应用程序,通常使用这种策略。每当进行垃圾收集时,应用程序都会停顿。
–-Xgcpolicy:optavgpause
通过并发地执行一部分垃圾收集,在高吞吐量和短GC 停顿之间进行折中。应用程序停顿的时间更短。
–-Xgcpolicy:gencon
以不同方式处理短期存活的对象和长期存活的对象。采用这种策略时,具有许多短期存活对象的应用程序会表现出更短的停顿时间,同时仍然产生很好的吞吐量。
–-Xgcpolicy:subpool
采用与默认策略相似的算法,但是采用一种比较适合多处理器计算机的分配策略。建议对于有16 个或更多处理器的SMP 计算机使用这种策略。这种策略只能在IBM pSeries® 和zSeries® 平台上使用。需要扩展到大型计算机上的应用程序可以从这种策略中受益。
示例:
–-Xms768m -Xmx1024m -Xmn256m -Xgcpolicy:gencon

 

 

选择GC算法,遵循以下原则:
–评估程序类型
桌面应用还是服务器端应用
吞吐量优先还是响应时间优先
–仅适用64位JDK的算法
比如在IBM AIX 64位JDK环境下,当heap区大于16G后,subpool明显性能提高
–确定GC算法之后,再逐步调整小参数
-Xmn(-XX:NewSize -XX:MaxNewSize)
-XX:SurvivorRatio
-XX:MaxTenuringThreshold
.......
–测试期间实时监控
SUN、HP、JRockit都可以通过jstat命令进行实时监控
避免使用jmap -histo,原因是可能会造成Full GC

 

 

更多 看附件吧.....

0
0
分享到:
评论

相关推荐

    JVM调优课件.zip

    JVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM调优课件.zipJVM...

    java jvm 调优

    2011.5.14日下午 jvm 调优 java社区日上的jvm调优,这个哥们的pdf 很长 看着也很细 哈哈 分享给大家了(这个pdf 的主人啊 相信你共享没意见 那天讨论挺热烈的嘛嘿嘿)另外附加2个工作中从哪个谁谁哪 要来的2个jvm 相关...

    JAVA应用JVM原理及参数调优深入讲解视频.zip

    JAVA应用JVM原理及参数调优深入讲解视频.5 JAVA应用JVM原理及参数调优深入讲解视频.6 JAVA应用JVM原理及参数调优深入讲解视频.7 JAVA应用JVM原理及参数调优深入讲解视频.8 JAVA应用JVM原理及参数调优深入讲解视频.9 ...

    JVM调优篇.pdf

    JVM调优篇

    06.JVM原理讲解和调优.pdf

    06.JVM原理讲解和调优.pdf

    JVM调优总结(java)

    FYI. JVM调优总结 JVM调优总结 JVM调优总结

    JVM调优总结

    1.6 JVM调优总结(五)-分代垃圾回收详述1 14 1.7 JVM调优总结(六)-分代垃圾回收详述 1.8 JVM调优总结(七)-典型配置举例 1.9 JVM调优总结(八)-典型配置举例2 31 1.10 JVM调优总结(九)-新一代的垃圾回收算法...

    JVM调优实践 ⼀、JVM调优准备⼯作 实验报告 pdf

    JVM调优实践 ⼀、JVM调优准备⼯作 1. 机器环境: 机器 CPU 内存 单机 4C 16G 2. 默认启动参数 JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSiz e=128m -XX:MaxMetaspaceSize=320m" JAVA_...

    深入java虚拟机

    1. JVM调优 1.1 JVM调优总结(一)-一些概念 1.2 JVM调优总结(二)-一些概念 1.3 JVM调优总结(三)-基本垃圾回收算法 1.4 JVM调优总结(四)-垃圾回收面临的问题 1.5 JVM调优总结(五)-分代垃圾回收详述1 1.6 JVM...

    java高级篇:JVM调优.mp4

    分析常见的JVM调优技术及其相关条件,以及在实战中怎么使用到相关的技术进行调优,比较适合中高级开发进行学习,适合对JVM理解较深的开发学习

    JVM调优.pdf

    JVM 性能调优 java 参数理解 性能调优

    java6 JVM 调优参数大全

    java6 JVM 调优参数大全 -XX

    JVM调优总结 JVM调优总结

    JVM调优总结 JVM调优总结 JVM调优总结

    JVM入门到JVM 调优实战

    第一节:JVM入门以及Class文件格式 ····································...第八节:JVM 调优实战 ·····································

    如何配置jvm参数,调优

    如何配置jvm参数,并且调优,适合各路开发者,

    后端JAVA虚拟机JVM调优必备工具

    IBM Thread and Monitor Dump Analyzer for Java专业JVM调优工具 一、使用方法 1.使用java -jar启动程序 2.找到需要分析的jvm进程 3.使用jstack [pid] > /tmp/sdapjvmlog.txt导出进程的详细日志 4.使用程序打开...

    JVM调优工具命令详解.pdf

    JVM调优工具命令详解

    JVM调优攻略.pdf

    JVM调优攻略.pdf!

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    NULL 博文链接:https://lihongchao87.iteye.com/blog/1688576

Global site tag (gtag.js) - Google Analytics