日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
調(diào)優(yōu)|別再說你不會(huì)JVM性能監(jiān)控和調(diào)優(yōu)了

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

作者:小明菜市場 2020-11-09 07:34:49

云計(jì)算

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

為白河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及白河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、白河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

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

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

常用工具

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

JDK 自帶工具

jps 虛擬機(jī)進(jìn)程狀況工具

用于查看虛擬機(jī)進(jìn)程狀況的工具 命令示例

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

jstat 虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具用于查看虛擬機(jī)的堆內(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的啟動(dòng)參數(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 堆棧跟蹤工具

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

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 

啟動(dòng)后,在瀏覽器打開,http://localhost:7000/

jvisualvm & VisualVM: 堆轉(zhuǎn)儲(chǔ)快照分析工具

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

對象信息

線程信息

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

啟動(dòng)用戶界面用于進(jìn)行性能監(jiān)控

啟動(dòng)成功以后

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 

啟動(dòng)

  
 
 
 
  1. ./as.sh 

help

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

thread 線程信息

jad 反編譯類

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

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

部署方式

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

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

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

調(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í)間過長參數(shù)調(diào)整

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

關(guān)于作者

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


本文標(biāo)題:調(diào)優(yōu)|別再說你不會(huì)JVM性能監(jiān)控和調(diào)優(yōu)了
文章鏈接:http://www.5511xx.com/article/djhgscc.html