JVM调优-考虑方向

1.、为什么要优化

• 防止出现OOM

• 解决OOM

• 减少Full GC出现的频率

 

2、不同阶段的考虑

• 上线前

• 项目运行阶段

• 线上出现OOM

 

3、监控的依据

• 运行日志

• 异常堆栈

• GC日志

• 线程快照

• 堆转储快照

 

4、调优的大方向

• 合理地编写代码

• 充分并合理的使用硬件资源

• 合理地进行JVM调优

 

5、性能优化的步骤

 

第1步:性能监控

• GC频繁

• cpu load过高

• OOM

• 内存泄露

• 死锁

• 程序响应时间较长

 

第2步:性能分析

• 打印GC日志,通过GCviewer或者 http://gceasy.io 来分析异常信息

• 灵活运用命令行工具、jstack、jmap、jinfo等

• dump出堆文件,使用内存分析工具分析文件

• 使用阿里Arthas、jconsole、JVisualVM来实时查看JVM状态

• jstack查看堆栈信息

 

第3步:性能调优

• 适当增加内存,根据业务背景选择垃圾回收器

• 优化代码,控制内存使用

• 增加机器,分散节点压力

• 合理设置线程池线程数量

• 使用中间件提高程序效率,比如缓存、消息队列等

• 其他……

 

  

posted @ 2021-09-21 17:12  编程小白1024  阅读(81)  评论(0编辑  收藏  举报