一、JVM全局理解图:JVM——使用指南

二、使用场景:
    1、OOM(OutOfMemory)
        可以通过如MAT分析dump文件,定位OOM
            JVM——使用指南
    2、GC优化
        通过不断调整,观察GC日志的吞吐量和停顿时间,寻找最佳值
        如使用如下设置:-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseG1GC -Xloggc:gc.log ,然后通过(在线分析工具网址)gceasy.io,去查看吞吐量和停顿时间

三、性能优化指南
        1、发现问题
            GC频繁
            死锁
            OOM
            线程池不够用
            CPU负载过高
        2、排查问题
            打印出gc日志,查看minor gc/major gc,结合工具gc viewer/gceasy.io
            jstack查看线程堆栈信息
            dump出堆文件,使用MAT或其他工具分析
            合理使用jdk自带的jconsole,jvisualvm,阿里的arthas等实时查看JVM状态
            灵活应用jps、jinfo、jstat、jmap等常用命令
        3、解决方案
            适当增加堆内存大小/选择合适的垃圾收集器
            使用zk、redis实现分布式锁
            设置本地,nginx等缓存减少对后端服务器的访问
            后端代码优化及时释放资源/合理设置线程池中的参数
            集群部署从而减少单点的压力
            利用一些消息中间件比如MQ、Kafka实现异步消息
            ……

相关文章:

  • 2021-12-03
  • 2021-11-30
  • 2021-12-09
  • 2021-11-27
  • 2021-11-19
  • 2021-11-19
  • 2021-11-20
猜你喜欢
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-13
  • 2021-08-02
  • 2021-06-09
  • 2021-09-05
相关资源
相似解决方案