亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JProfiler11使用教程之JVM調優(yōu)問題小結

 更新時間:2022年03月15日 17:17:11   作者:胡安民  
這篇文章主要介紹了JProfiler11使用教程之JVM調優(yōu),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

安裝JProfiler

jprofiler_windows-x64_11_0_2

鏈接: https://pan.baidu.com/s/1EWxW5VT100D1v_HVvKYGqQ?pwd=qif5 
提取碼: qif5 

JProfiler11破解

然后打開破解機器 KeyGen.exe

鏈接: https://pan.baidu.com/s/13MX6iLFtcmerdGovYjOh4g?pwd=cx7e 
提取碼: cx7e 

配置本地監(jiān)控

我們啟動一個本地項目weblogic,Jboss,tomcat或者springboot都行,我們就拿主流的springboot來說(其實內嵌的就是tomcat)

然后我們打開jprofiler,監(jiān)控指定的程序

配置遠程監(jiān)控

我的服務器是x86的uname -m
在需要監(jiān)聽的目標服務器上安裝jprofiler_linux_11_0_2.tar.gz

鏈接: https://pan.baidu.com/s/1O03jqyBdsPZHt3zpoMzwAg?pwd=n297 
提取碼: n297 

我是放在/opt 下,解壓tar zxfv jprofiler_linux_11_0_2.tar.gz,重命名為:jprofiler11
配置/etc/profile文件,添加如下內容

export INSTALL4J_JAVA_HOME=/usr/local/src/java/java-se-8u41-ri/jre  #jdk安裝目錄下
export LD_LIBRARY_PATH=/opt/jprofiler11/bin/linux-x86  #jprofile的安裝目錄下

找java安裝目錄whereis java

/usr/local/src/java/java-se-8u41-ri/ 就是安裝目錄,我們進去看看有沒有jre目錄

修改完后,使環(huán)境變量生效
source /etc/profile

需要監(jiān)聽的項目必須在服務器上運行中否則JProfiler 啟動會失敗的

啟動自己的項目然后檢測是否啟動

啟動成功后那么就可以啟動服務器上的JProfiler服務了 /opt/jprofiler11/bin/jpenable

選擇[1]然后會顯示客戶端可以連接的端口號,用于客戶端連接服務器的

配置window下的jprofile11

jProfiler客戶端介紹

儀表盤

這個不用多說,看說明就知道啥東西

查看對象增長情況

ALL Objects(全部對象)

Recorded Objects (記錄對象)

我們可以指定開啟時間內記錄對象的的使用情況,這樣就能更佳快速的找到問題 ,每次開關都會從新統(tǒng)計,還有最關鍵的就是 Mark Current 這個按鈕,他可以標記現在對象的使用情況為綠色,那么行增的對象就是紅色了,這樣一對比就知道那個對象有問題了

右鍵可以刪除標記

Allocation Call Tree(記錄調用樹)

開始后統(tǒng)計調用情況,每次開關都會從新統(tǒng)計

Allocation Hot Spots(熱點)

能統(tǒng)計出來開啟時間段內使用某些方法或者xxx 的調用情況,相當于反向查詢誰調用我了,開關后從新統(tǒng)計

上圖顯示println這個方法被 MathGame.run 和MathGame.main方法調用,以及他們這些方法一共調用了多少次和多少時間以及占用的內容大小

Class Tracker(類調用跟蹤)

能檢測指定類,的時間片段調用情況和調用頻率來進行分析出來,是否有問題

選擇需要監(jiān)控的類或者包那那么當這些類進行被調用了,就會在視圖上顯示

可以看到在什么時間調用了 ,如果想暫停下來

檢測各種調用情況

Call Tree (調用樹)

通過關閉在開啟可以重新統(tǒng)計

一般情況我們會過濾掉我們不想看到的內容

選擇demo.就是過濾此包下的全部內容,想要恢復過濾內容可以在設置里進行恢復

Hot Spots(熱點)

Call Graph(查看方法的調用樹)

Method Statistics(方法統(tǒng)計)

開啟后,這段時間內被調用的方法就會被攔截到

Call tracer 調用跟蹤

開啟后會記錄這段時間內的方法執(zhí)行情況包括內部執(zhí)行情況,關閉后以樹展示出來

從上圖標記是紅的,就能看出來方法內部執(zhí)行了循環(huán)了

如果不想看到某方法那么可以隱藏掉

恢復顯示

JavaScript XHR

JProfiler Origin Tracker_v1.0.3.crx

鏈接: https://pan.baidu.com/s/1gnhtmBIcUYJbxecmrKojPg?pwd=rrpu 
提取碼: rrpu 

要使用此功能,您必須使用Google Chrome 作為瀏覽器并安裝 JProfiler 源跟蹤器擴展。

運行前端時候點擊下

然后插件顏色就變?yōu)榧t色了,那么就說明這個網站激活成功了

然后回到 jprofiler中就發(fā)現在監(jiān)聽中了

檢測線程各種情況

注意: 如果請求的線程內部沒有長時間的阻塞或者睡眠,一般都抓不到的,因為更新頻率是2秒一次

Thread History(線程狀態(tài))

看著圖很簡單,除了綠色的其他如果時間過長都有問題,如果出現紅色那么就是死鎖
測試方式就是打開監(jiān)控后去訪問有問題的功能,那么就能排查出來具體的問題, 找到問題的線程,那么我們就能去獲取這個線程內部的堆棧,從堆棧中就能看出來問題是啥

Thread Monitor(線程列表)

如果線程過多, 在Thread History中不好找那么我們可以通過這個列表進行篩選,這樣就能快速鎖定有問題的線程了

Thread Dumps(線程堆棧)

通過上面的方法找到問題的線程方法后,然后我們就能在 Thread Dumps去查詢對應方法的堆棧信息
每次點擊都能獲取最新的全部線程堆棧信息,并且以樹型展示

上圖紅色的就是死鎖,告訴你這個鎖發(fā)生在那個類多少行

這種都是第三方的請求,(有用戶的有其他工具的,要會分辨,看堆棧就能看出來的)

類似于下圖這種就不用看,這都是系統(tǒng)自己的請求或者其他的請求

上圖是tomcat內部進行喚醒和掛起線程的操作,估計是線程池的東西

我們一般找下面這圖出現的請求這個才是真實的請求

從上圖就能看出來問題了,是內部一直在調用sleep,看堆棧是從下往上看,然后我們去看源碼

數據庫連接和sql語句執(zhí)行情況

Mybaitis 和JDBC都一樣

1秒(s)=1000毫秒 1毫秒(ms)=1000微妙 10萬微妙(us)=1秒
從上圖可以看到我查詢用戶數量才使用了1毫秒不到

可以進行開關進行從新監(jiān)控

請求情況

注意: 如果是請求是死循環(huán)或者死鎖那么這個是監(jiān)控不到的,必須這個請求能響應才行

至于其他的功能我基本沒用到這里就不說了,用到了在補上

堆快照分析 導出當前堆的快照

導入對堆文件快照

分析堆快照

Current Object Set(當前堆的所有對象情況)

一般需要多個堆的快照進行對比,進行發(fā)現是否有內存泄露問題和對象增長速度過快問題,從而進行分析原因

Thread Dump(當前堆的線程情況)

可以查看到死鎖,或者死循環(huán)或者長時間處于等待狀態(tài)的線程,執(zhí)行的方法和問題原因

比較快照

注意: (.hprof)文件的快照只支持內存比較 ,而jps快照是支持所有的,但是需要開啟部分功能才行

我準備了3個同源的堆快照(.hprof),是在不同時間段獲取的

同時選取需要對比的全部快照

當然也可以后期一個一個添加

然后按住Shift+鼠標左鍵選擇2個需要對比的快照(一次最多對比2個快照,建議拿第一個快照和比第一個時間段大的快照進行依次對比)

內存比較

加號就是 333333.hprof這個快照比00000.hprof快照增加的
最后下面有一個匯總,333333.hprof比00000.hprof 總體增加了還是減少了多少內存

對比不同時間段快照,可以看出來內存是一直處于增長的,還是有減有增,如果一直維持在一個范圍那么可以接收的 ,如果對比多個快照發(fā)現都是一直處于增長沒有減過那么肯定是有問題的,時間長了就會發(fā)生oom了

調用情況比較

必須開啟

然后保存為jps文件

然后就可以進行對比了

到此這篇關于JProfiler11使用教程之JVM調優(yōu)的文章就介紹到這了,更多相關JProfiler11使用JVM調優(yōu)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java注解與反射原理說明

    Java注解與反射原理說明

    今天小編就為大家分享一篇關于Java注解與反射原理說明,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • java自定義任務類定時執(zhí)行任務示例 callable和future接口使用方法

    java自定義任務類定時執(zhí)行任務示例 callable和future接口使用方法

    Callable是類似于Runnable的接口,實現Callable接口的類和實現Runnable的類都是可被其它線程執(zhí)行的任務
    2014-01-01
  • maven多模塊項目依賴管理與依賴繼承詳解

    maven多模塊項目依賴管理與依賴繼承詳解

    這篇文章主要介紹了maven多模塊項目依賴管理與依賴繼承詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 手把手帶你了解Java-Stream流方法學習及總結

    手把手帶你了解Java-Stream流方法學習及總結

    這篇文章主要介紹了通過實例了解JavaStream流的方法學習和總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-08-08
  • java二叉樹的遍歷方式詳解

    java二叉樹的遍歷方式詳解

    這篇文章主要為大家詳細介紹了java實現二叉樹遍歷的四種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-08-08
  • skywalking分布式服務調用鏈路追蹤APM應用監(jiān)控

    skywalking分布式服務調用鏈路追蹤APM應用監(jiān)控

    這篇文章主要為大家介紹了skywalking分布式服務調用鏈路追蹤APM應用監(jiān)控的功能使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • java實現俄羅斯方塊游戲

    java實現俄羅斯方塊游戲

    這篇文章主要為大家詳細介紹了java實現俄羅斯方塊游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Java并發(fā)編程示例(二):獲取和設置線程信息

    Java并發(fā)編程示例(二):獲取和設置線程信息

    這篇文章主要介紹了Java并發(fā)編程示例(二):獲取和設置線程信息,本文是系列文章的第二篇,本文著重講解Thread類的幾個重要屬性,需要的朋友可以參考下
    2014-12-12
  • PageHelper分頁查詢操作方法示例

    PageHelper分頁查詢操作方法示例

    這篇文章主要為大家介紹了PageHelper分頁查詢數據操作方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解SpringBoot配置連接池

    詳解SpringBoot配置連接池

    本篇文章主要詳解SpringBoot配置連接池,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論