<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
jprofiler_windows-x64_11_0_2
連結: https://pan.baidu.com/s/1EWxW5VT100D1v_HVvKYGqQ?pwd=qif5
提取碼: qif5
然後開啟破解機器 KeyGen.exe
連結: https://pan.baidu.com/s/13MX6iLFtcmerdGovYjOh4g?pwd=cx7e
提取碼: cx7e
我們啟動一個本地專案weblogic,Jboss,tomcat或者springboot都行,我們就拿主流的springboot來說(其實內嵌的就是tomcat)
然後我們開啟jprofiler,監控指定的程式
我的伺服器是x86的uname -m
在需要監聽的目標伺服器上安裝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目錄
修改完後,使環境變數生效source /etc/profile
需要監聽的專案必須在伺服器上執行中否則JProfiler 啟動會失敗的
啟動自己的專案然後檢測是否啟動
啟動成功後那麼就可以啟動伺服器上的JProfiler服務了 /opt/jprofiler11/bin/jpenable
選擇[1]然後會顯示使用者端可以連線的埠號,用於使用者端連線伺服器的
設定window下的jprofile11
這個不用多說,看說明就知道啥東西
ALL Objects(全部物件)
Recorded Objects (記錄物件)
我們可以指定開啟時間內記錄物件的的使用情況,這樣就能更佳快速的找到問題 ,每次開關都會從新統計,還有最關鍵的就是 Mark Current 這個按鈕,他可以標記現在物件的使用情況為綠色,那麼行增的物件就是紅色了,這樣一對比就知道那個物件有問題了
右鍵可以刪除標記
Allocation Call Tree(記錄呼叫樹)
開始後統計呼叫情況,每次開關都會從新統計
Allocation Hot Spots(熱點)
能統計出來開啟時間段內使用某些方法或者xxx 的呼叫情況,相當於反向查詢誰呼叫我了,開關後從新統計
上圖顯示println這個方法被 MathGame.run 和MathGame.main方法呼叫,以及他們這些方法一共呼叫了多少次和多少時間以及佔用的內容大小
Class Tracker(類呼叫跟蹤)
能檢測指定類,的時間片段呼叫情況和呼叫頻率來進行分析出來,是否有問題
選擇需要監控的類或者包那那麼當這些類進行被呼叫了,就會在檢視上顯示
可以看到在什麼時間呼叫了 ,如果想暫停下來
通過關閉在開啟可以重新統計
一般情況我們會過濾掉我們不想看到的內容
選擇demo.就是過濾此包下的全部內容,想要恢復過濾內容可以在設定裡進行恢復
Hot Spots(熱點)
Call Graph(檢視方法的呼叫樹)
Method Statistics(方法統計)
開啟後,這段時間內被呼叫的方法就會被攔截到
Call tracer 呼叫跟蹤
開啟後會記錄這段時間內的方法執行情況包括內部執行情況,關閉後以樹展示出來
從上圖示記是紅的,就能看出來方法內部執行了迴圈了
如果不想看到某方法那麼可以隱藏掉
恢復顯示
JavaScript XHR
JProfiler Origin Tracker_v1.0.3.crx
連結: https://pan.baidu.com/s/1gnhtmBIcUYJbxecmrKojPg?pwd=rrpu
提取碼: rrpu
要使用此功能,您必須使用Google Chrome 作為瀏覽器並安裝 JProfiler 源跟蹤器擴充套件。
執行前端時候點選下
然後外掛顏色就變為紅色了,那麼就說明這個網站啟用成功了
然後回到 jprofiler中就發現在監聽中了
注意: 如果請求的執行緒內部沒有長時間的阻塞或者睡眠,一般都抓不到的,因為更新頻率是2秒一次
看著圖很簡單,除了綠色的其他如果時間過長都有問題,如果出現紅色那麼就是死鎖
測試方式就是開啟監控後去存取有問題的功能,那麼就能排查出來具體的問題, 找到問題的執行緒,那麼我們就能去獲取這個執行緒內部的堆疊,從堆疊中就能看出來問題是啥
如果執行緒過多, 在Thread History中不好找那麼我們可以通過這個列表進行篩選,這樣就能快速鎖定有問題的執行緒了
通過上面的方法找到問題的執行緒方法後,然後我們就能在 Thread Dumps去查詢對應方法的堆疊資訊
每次點選都能獲取最新的全部執行緒堆疊資訊,並且以樹型展示
上圖紅色的就是死鎖,告訴你這個鎖發生在那個類多少行
這種都是第三方的請求,(有使用者的有其他工具的,要會分辨,看堆疊就能看出來的)
類似於下圖這種就不用看,這都是系統自己的請求或者其他的請求
上圖是tomcat內部進行喚醒和掛起執行緒的操作,估計是執行緒池的東西
我們一般找下面這圖出現的請求這個才是真實的請求
從上圖就能看出來問題了,是內部一直在呼叫sleep,看堆疊是從下往上看,然後我們去看原始碼
Mybaitis 和JDBC都一樣
1秒(s)=1000毫秒 1毫秒(ms)=1000微妙 10萬微妙(us)=1秒
從上圖可以看到我查詢使用者數量才使用了1毫秒不到
可以進行開關進行從新監控
請求情況
注意: 如果是請求是死迴圈或者死鎖那麼這個是監控不到的,必須這個請求能響應才行
至於其他的功能我基本沒用到這裡就不說了,用到了在補上
堆快照分析 匯出當前堆的快照
匯入對堆檔案快照
Current Object Set(當前堆的所有物件情況)
一般需要多個堆的快照進行對比,進行發現是否有記憶體洩露問題和物件增長速度過快問題,從而進行分析原因
Thread Dump(當前堆的執行緒情況)
可以檢視到死鎖,或者死迴圈或者長時間處於等待狀態的執行緒,執行的方法和問題原因
注意: (.hprof)檔案的快照只支援記憶體比較 ,而jps快照是支援所有的,但是需要開啟部分功能才行
我準備了3個同源的堆快照(.hprof),是在不同時間段獲取的
同時選取需要對比的全部快照
當然也可以後期一個一個新增
然後按住Shift+滑鼠左鍵選擇2個需要對比的快照(一次最多對比2個快照,建議拿第一個快照和比第一個時間段大的快照進行依次對比)
加號就是 333333.hprof這個快照比00000.hprof快照增加的
最後下面有一個彙總,333333.hprof比00000.hprof 總體增加了還是減少了多少記憶體
對比不同時間段快照,可以看出來記憶體是一直處於增長的,還是有減有增,如果一直維持在一個範圍那麼可以接收的 ,如果對比多個快照發現都是一直處於增長沒有減過那麼肯定是有問題的,時間長了就會發生oom了
必須開啟
然後儲存為jps檔案
然後就可以進行對比了
到此這篇關於JProfiler11使用教學之JVM調優的文章就介紹到這了,更多相關JProfiler11使用JVM調優內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45