JVM调优的基本问题

为什么要调优

  1. 防止出现OOM,进行JVM规划和预调优
  2. 解决程序运行中各种OOM
  3. 减少Full GC出现的频率,解决运行慢、卡顿问题

调优的大方向

  1. 合理地编写代码
  2. 充分并合理的使用硬件资源
  3. 合理地进行JVM调优

不同阶段的考虑

  1. 上线前
  2. 项目运行阶段
  3. 线上出现OOM

调优监控的依据

  1. 运行日志
  2. 异常堆栈
  3. GC日志
  4. 线程快照
  5. 堆转储快照

    总结

  6. 调优从业务场景开始,监控先行!!
  7. 系统性能问题我们可以从硬件、操作系统、JVM和应用程序这几个维度进行分析,如下图
    alt text


拓展

  1. 如何提高API的性能
  2. Lightrun-调试Java程序生产问题的优秀工具【译】
  3. 深入研究 JVM 调优