自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

調(diào)優(yōu) | 別再說你不會 JVM 性能監(jiān)控和調(diào)優(yōu)了

云計算 虛擬化
stat 虛擬機統(tǒng)計信息監(jiān)視工具用于查看虛擬機的堆內(nèi)存,內(nèi)存信息,類的裝載和卸載信息等內(nèi)容。

[[350999]]

本文轉載自微信公眾號「小明菜市場」,作者小明菜市場 。轉載本文請聯(lián)系小明菜市場公眾號。   

 Hi ! 我是小小,今天是本周的最后一篇,本篇將會著重講解關于 JVM 調(diào)優(yōu)和性能監(jiān)控方面的內(nèi)容

常用工具

常用工具主要有 JDK 自帶工具與 Arthas 這兩種工具。

JDK 自帶工具

jps 虛擬機進程狀況工具

用于查看虛擬機進程狀況的工具 命令示例

  1. $ jps 
  2. 15236 Jps 
  3. 14966 Example1 

jstat 虛擬機統(tǒng)計信息監(jiān)視工具用于查看虛擬機的堆內(nèi)存,內(nèi)存信息,類的裝載和卸載信息等內(nèi)容

顯示堆內(nèi)存信息

  1. jstat -gc 14966 
  2.  S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT 
  3. 2048.0 2048.0  0.0    0.0   12800.0   9345.8   34304.0    26638.8   5248.0 4971.3 640.0  554.9       2    0.032   2      0.049    0.082 

每隔 1000 毫秒打印堆內(nèi)存信息,打印十次

 

查看類的裝載和卸載信息

  1. $ jstat -class 14966 
  2. Loaded  Bytes  Unloaded  Bytes     Time 
  3.    829  1604.4        0     0.0       0.37 

Java 配置信息工具

查看JVM的啟動參數(shù)

  1. $ jinfo -flags 26472 
  2. VM Flags: 
  3. -XX:CICompilerCount=3 -XX:InitialHeapSize=52428800 -XX:MaxHeapSize=52428800 -XX:MaxNewSize=17301504 -XX:MinHeapDeltaBytes=524288 -XX:New 

jstack Java 堆棧跟蹤工具

即,對當前的內(nèi)存生成相關的快照,用于保存相關的快照信息。

 

jmap Kava 內(nèi)存映射工具

用于查看內(nèi)存對象數(shù)量和內(nèi)存空間占用

 

jhat 生成 html 類型的快照文件

  1. $ jhat dump.hprof 
  2. Reading from dump.hprof... 
  3. Dump file created Sun May 03 17:09:07 CST 2020 
  4. Snapshot read, resolving... 
  5. Resolving 42293 objects... 
  6. Chasing references, expect 8 dots........ 
  7. Eliminating duplicate references........ 
  8. Snapshot resolved. 
  9. Started HTTP server on port 7000 
  10. Server is ready 

啟動后,在瀏覽器打開,http://localhost:7000/

 

jvisualvm & VisualVM: 堆轉儲快照分析工具

和上方命令一樣,直接導出文件,而不是網(wǎng)站

 


對象信息

 


線程信息

 

jconsole: JVM 性能監(jiān)控

啟動用戶界面用于進行性能監(jiān)控

 


啟動成功以后

 

 

Arthas

阿里開源的Java診斷工具

安裝

下載

  1. wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar 

解壓

  1. unzip arthas-packaging-bin.zip 

安裝

  1. sudo su adminrm -rf /home/admin/.arthas/lib/*cd arthas./install-local.sh 

啟動

  1. ./as.sh 

help

 

dashboard 實時數(shù)據(jù)面板

 

thread 線程信息


 

 

jad 反編譯類

 

watch 數(shù)據(jù)觀測

 

調(diào)優(yōu)

部署方式


 

 

服務器經(jīng)常出現(xiàn)卡頓這是由于 Full GC 時間過長導致,原因一般是

  1. 新生代太小,對象提前進入老年代,觸發(fā) Full GC
  2. 老年代較大,一次 Full GC 時間較長

解決方案是 調(diào)小 NewRatio 的值,盡可能的減少對象進入老年代

調(diào)整內(nèi)存占用

直接內(nèi)存

調(diào)整 XX:MaxDirectMemorySize 避免發(fā)生 OutOfMemoryError: Direct buffer memory

線程堆棧

調(diào)整 -Xss 避免發(fā)生 StackOverflowError 或 OutOfMemoryError: unable to create new native thread

從 GC 角度解決新生代大量對象存活,Minor GC 時間過長參數(shù)調(diào)整

  1. -XX:SurvivorRatio=65536 
  2. -XX:MaxTenuringThreshold=0 
  3. -XX:AlwaysTenure 

關于作者

我是小小,生于二線,活在一線的程序猿,我是小小,我們下期再見。

 

責任編輯:武曉燕 來源: 小明菜市場
相關推薦

2023-01-05 17:55:39

分布式架構

2017-07-21 08:55:13

TomcatJVM容器

2012-01-10 14:35:08

JavaJVM

2019-11-01 08:49:07

JVM監(jiān)控性能

2024-12-04 15:49:29

2023-11-11 19:07:23

JVMJava

2023-04-24 14:54:09

JVM性能調(diào)優(yōu)

2021-03-04 08:39:21

SparkRDD調(diào)優(yōu)

2012-06-20 11:05:47

性能調(diào)優(yōu)攻略

2010-09-26 09:08:17

JVM調(diào)優(yōu)

2010-09-26 13:39:46

JVM調(diào)優(yōu)

2012-01-10 15:13:56

JavaJVM

2021-12-06 11:03:57

JVM性能調(diào)優(yōu)

2019-02-19 10:25:28

JVM性能工具

2011-03-10 14:40:54

LAMPMysql

2023-06-05 09:17:50

SQLAlchemy關系型數(shù)據(jù)庫

2023-05-29 07:43:32

JVM內(nèi)存調(diào)優(yōu)

2023-11-28 08:43:48

2011-03-18 11:21:48

2011-11-14 10:28:23

點贊
收藏

51CTO技術棧公眾號