JVM参数以及调优

JVM参数以及调优

JVM调优基本概念

  1. 堆大小调整
  2. 垃圾收集器调整
  3. JIT编译器

大多数调优选项都与调整堆大小和根据情况选择最合适的垃圾收集器有关.

调优的主要目标

响应性: 应用程序或系统对请求的数据进行响应的速度, 对于响应性要求高的程序,重点是在短时间内做出回应, 不接受长暂停.

吞吐量: 侧重于在特定时间段内最大化应用程序的工作量. 高暂停是可接受的.

系统瓶颈核心还是在应用代码, 一般情况下无需过多调优, JVM本身在不断优化.

GC调优思路

  1. 分析场景
  2. 确定目标
    内存占用、低延时、吞吐量
  3. 收集日志
    通过参数配置收集GC日志; 通过JVM分析GC状态看GC状态
  4. 分析日志
    使用工具辅助分析日志, 查看GC次数, GC时间
  5. 调整参数
    切换垃圾收集器或者调整垃圾收集器参数

GC日志解读与分析

Java -XX:+PrintGCDetails Helloworld

JVM线程堆栈数据分析

内存分析与相关工具

JVM问题分析经验

GC疑难问题

JVM常见面试题