本文将和你分享一些 JVM
“专业术语”,程序员在对 JVM
做任何的性能和垃圾回收调整之前理解和记住这些“专业术语”是非常重要的。在文章的最后还提供一些小技巧,包括一些高性能微调的最佳实践。关于 Oracle HotSpot
的并发垃圾回收器,例如 CMS
和 G1
的进一步建议将在后续文章中探讨。 在深入阅读之前,我建议你先熟悉《 JVM 详细 GC 输出日志 》。获得这个 JVM
数据分析技能是至关重要的,特别是当与更加复杂的 APM
技术结合使用的时候。
JVM
暂停时间和内存分配率,以及可以手工调整代内存大小(译者注:这里的“代”指 JVM
中的年轻代,年老代以及永久代)。
GCAdaptiveSizePolicy
参数是 JVM
不可分割的一部分,保持该参数有效。仅在必要时手动调整。
建议:刚开始,调整 Java 堆大小,以达到一次完全垃圾回收之后年老代占用或者大约占用 50% 的内存,使得高负载情况(故障转移,高峰,业务繁忙时段)能够提供做够大的缓存。
JVM
的垃圾回收日志很棒……但是你如何检查你的存活数据呢? Java
堆直方图快照和堆转储分析是强大而成熟的方法,能够更好地了解您的应用程序的存活数据。 Java
剖析解决方案和工具,例如 Oracle Java Mission Control ,Java Visual VM 为 Java 堆的检查和分析提供了高级特性,包括应用程序内存分配的跟踪。
JVM
默认大小)为堆大小的 1/3
Java
性能不只是关于 Java
……探索各个角度。 JVM
参数,不要过度调整你的 JVM
! 参考:JCG 伙伴 Pierre Hugues Charbonneau 发表在 Java EE Support Patterns 的博客 JVM Buzzwords Java developers should understand 。
原文链接: javacodegeeks 翻译:ImportNew.com -xiaoheike
译文链接:[]