JVM知识总结(性能调优)

打印 上一主题 下一主题

主题 1037|帖子 1037|积分 3111

文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/

性能调优

何时进行JVM调优?
   遇到以下环境,就必要思量进行JVM调优了:
  

  • Heap内存(老年代)连续上涨达到设置的最大内存值
  • Full GC 次数频仍
  • GC 停顿时间过长(凌驾1秒)
  • 应用出现OutOfMemory等内存异常
  • 体系吞吐量与响应性能不高或下降
  JVM调优基本原则:
   大多数的Java应用不必要进行JVM优化
  大多数导致GC题目的缘故原由是代码层面的题目导致的(代码层面)
  上线之前,应先思量将机器的JVM参数设置到最优
  减少创建对象的数量(代码层面)
  减少使用全局变量和大对象(代码层面)
  优先架构调优和代码调优,JVM优化是不得已的手段(代码、架构层面)
  分析GC环境优化代码比优化JVM参数更好(代码层面)
  JVM调优目的:
   延迟:
  

  • GC低停顿和GC低频率
  没有FullGC
  高吞吐量
  JVM调优步骤:
   一般环境下,JVM调优可通过以下步骤进行:
  

  • 分析GC日记及Dump文件,判定是否必要优化,确定瓶颈题目点
  • 确定JVM调优量化目的
  • 确定JVM调优参数(根据历史JVM参数来调解)
  • 依次调优内存、延迟、吞吐量等指标
  • 对比观察调优前后的差异
  • 不停的分析和调解,直到找到合适的JVM参数配置
  • 找到最合适的参数,将这些参数应用到全部服务器,并进行后续跟踪
  JVM调优发起
   年轻代和老年代的比例必要结合实际场景调解
  

  • 由于老年代的GC成本通常都会比年轻代的成本要高许多。
  • 所以发起适当地通过Xmn下令区设置年轻代的巨细,最大限度的降低对象晋升到老年代的环境。
  公道设置Eden区和Survivor区比例
  

  • 公道分配Eden区和Survivor区,尽量不要让对象进入老年代。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表