jvm性能调优
jvm性能调优
小吴顶呱呱为什么调优
- 防止出现OOM,进行JVM规划和预调优
- 解决程序运行中各种OOM
- 减少Full GC出现的频率,解决运行慢,卡顿问题
调优的大方向
- 合理的编写代码
- 充分并合理的使用硬件资源
- 合理的进行JVM调优
总结:要从业务场景开始,没有业务场景的调优都是耍流氓;无监控,不调优。
调优监控的依据
运行日志、异常堆栈、GC日志、线程快照、堆转储快照
调优的基本步骤
- 第一步,熟悉业务场景
- 第二步,进行性能监控来发现问题:GC频繁、cpu load过高、OOM、内存泄露、死锁、程序相应时间过长
- 第三步,进行性能分析来排查问题:
- 打印GC日志,通过GCviewer或者http://gceasy.io来分析日志信息
- 灵活运用命令行工具,jstack,jmap,jinfo等
- dump出堆文件,使用内存分析工具分析文件
- 使用阿里Arthas,或jconsole,JVisualVM来实时查看JVM状态
- jstack查看堆栈信息
- 第四步,进行性能调优解决问题:
- 适当增加内存,根据业务背景选择垃圾回收器
- 优化代码,控制内存使用
- 增加机器,分散节点压力
- 合理设置线程池数量
- 使用中间件提高程序效率,比如缓存,消息队列等
- 其他…
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果