Sun JDK 1.6内存调优指南:GC优化实践
需积分: 10 80 浏览量
更新于2024-07-24
收藏 522KB PDF 举报
"Sun JDK 1.6内存管理的调优是针对Java应用程序性能优化的重要环节,由专家毕玄在2010年的分享中详细阐述。调优的目标包括掌握垃圾收集(GC)的基本策略和编写对GC友好的代码,以提高应用程序的吞吐量或响应时间。这一过程涉及测量、设定目标、调优等多个步骤,并需要考虑多种因素,如GC因素(内存足迹、分配速率、年轻代生存率、暂停时间和吞吐量)、应用因素(响应时间、每秒查询率QPS)以及系统因素(负载、CPU利用率和IO)。"
在调优过程中,测量工具如GC日志、jstat、jmap、sar、top等被用来监控和分析JVM的行为。其中,GC日志记录了GC事件,jstat用于实时监控JVM统计信息,jmap帮助获取堆内存详细信息,sar监测系统性能,而top则展示进程资源使用情况。
GC神话(GCMyth)是指一些关于GC的误解,毕玄在JavaOne 2010的演讲中对此进行了澄清。选择JVM版本时,32位JVM在Linux上可能受到3GB内存限制,一般建议堆大小不超过2GB;而64位JVM虽然指针占用更多内存,但在足够资源下,64位通常表现更好,开启-XX:+UseCompressedOOPS选项可以缓解这个问题。
调优目标可以是吞吐量或延迟。如果吞吐量更重要,可以选择Parallel Old GC;如果延迟更重要,通常先尝试Parallel Old GC,如果不满意再转向CMS(Concurrent Mark Sweep)收集器。堆的大小设定是个关键点,初始堆大小(-Xms)和最大堆大小(-Xmx)通常设置为存活数据大小的3到4倍。
降低Full GC(FGC)执行频率是优化的关键,可以通过增大老年代空间,减少新对象晋升到老年代,调整Tenuring Threshold和Survivor Space Size来实现。例如,在ItemDetail、TC和promotion center等应用场景中,这些策略已被证明有效。
减少FGC造成的暂停时间也是优化的一个方向,这可能需要减小堆大小,以降低GC的工作量,从而缩短暂停时间。同时,调整JVM参数,如新生代和老年代的比例,以及使用并发GC模式,也能帮助改善暂停时间。
Sun JDK 1.6内存管理调优是一个综合性的过程,涉及到对应用程序、JVM配置和系统资源的深入理解,以及灵活运用各种调优工具和策略。通过细致的分析和调整,可以显著提升Java应用的性能和稳定性。
113 浏览量
154 浏览量
2019-04-22 上传
154 浏览量
246 浏览量
114 浏览量
2012-01-16 上传
2023-10-27 上传
151 浏览量
atmoy
- 粉丝: 0
- 资源: 4
最新资源
- 关于路由器技术的基础l理论知识
- Intel 80x86 CPU系列介绍
- CPU 和GPU设计工作原理
- 理解VMware的3种网络模型
- Master Dojo
- pragmatic.programming.erlang.jul.2007.pdf
- java面试题集 pdf格式
- 计算机数字电路中的 组合逻辑电路。设计。方法。答案。。。。。。。。。
- RJ232描述,描述计算机串口通信的基础知识,也包含了一些例程
- 全国计算机四级考试笔试模拟试题2
- MAC地址的原理分析以及相关应用介绍
- vista下MySQL的安装
- java线程与并行(主要讲解java的nio包某些内容)
- ErlangProgramming.pdf
- PKI技术及应用开发指南
- Apress.Pro.EJB.3.Java.Persistence.API.