网易云课堂-JVM参数及调优

调优基本概念:
在调整性能时,JVM有三个组件:
1、堆大小调整
2、垃圾收集器调整
3、JIT编译器
大多数调优选项都与调整堆大小和为你的情况选择最合适的垃圾收集器有关。JIT编译器对性能也有很大的影响,但很少需要使用较新版本的jvm进行调优。

通常,在调优java应用程序时,重点时以下两点:
1、响应性:应用程序在或系统对请求的数据做出响应的速度,对于专注于响应性的应用程序,长的暂停是不可容忍的,重点是对响应速度做出优化。
2、吞吐量:侧重于在特定时间段内最大化应用程序的工作量,对于专注于吞吐量的应用程序,长暂停是可以接受的。由于高吞吐量应用程序在较长时间内专注于基准测试,因此不需要考虑快速响应。

网易云课堂-JVM参数及调优
jmap来查看堆的使用情况:
网易云课堂-JVM参数及调优
通过GC参数
假设 GCTimeRatio 的值为 n,那么系统将花费不超过 1/(1+n) 的时间用于垃圾收集。
网易云课堂-JVM参数及调优
GCViewer工具,辅助分析GC日志文件
https://github.com/chewiebug/GCViewer

Jstat动态监控gc统计信息
网易云课堂-JVM参数及调优