jvm 性能調優

jvm 性能調優

1、jvm 內存模型

2、目標

在如下三點中,經過修改jvm參數尋找平衡。html

  • GC的時間足夠的小
  • GC的次數足夠的少
  • 發生Full GC的週期足夠的長

3、方法

  1. 減小使用全局變量和大對象;
  2. 調整新生代的大小到最合適;
  3. 設置老年代的大小爲最合適;
  4. 選擇合適的GC收集器;

4、經常使用分析工具

  • JConsole:可直接輸入jconsole使用。
  • VisualVM:可直接輸入jvisualvm使用。
  • jps:主要用來輸出jvm中運行的進程狀態信息。
  • jstack:主要用來查看某個java進程內的線程堆棧信息。
  • jmap:用來查看堆內存使用狀況,通常結合jhat使用。
  • jstat:jvm統計監測工具。

5、補充

常見的性能問題java

  1. cpu load 太高致使系統不可用或者tps(吞吐量)急劇下降
  2. jvm 問題致使tps(吞吐量)下降
    • young gc 次數過多
    • full gc 次數過多
    • full gc 時間長
    • perm space 回收頻繁或oom(Out Of Memory)
  3. 重複查詢氾濫
  4. 鎖競爭或死循環
  5. 鏈接池鏈接佔用
  6. 不合理的使用集合
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息