您好,登錄后才能下訂單哦!
如何使用Jprofiler遠程監控線上服務,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
先說說這兩天遇到的坑
1.同事配的Jenkins沒配好,導致我上傳的代碼部署沒生效。因為Gradle服務器打包的jar沒傳到目標服務器。原因只是Jenkins傳輸jar包的配置寫錯了jar包的包名,搞得我又是檢查安全組配置,又是檢查ssh配置,浪費好多時間。
2.上周后臺服務經常掛掉,都是內存不夠后被系統kill掉的,后來直接新申請了一臺服務器。但是我觀察到內存還是一路飆升,cpu使用率也居高不下,思考許久,后臺并沒有耗到1.7g內存的可能,更沒有耗費百分百cpu的業務,一定是哪里出了問題。經過配置jprofiler遠程監控后,找到了原因,原來是自己寫的jdbc插件耗費了cpu,sql執行慢監控耗費了很大內存,真是自己給自己挖坑。暫時下線了這個插件。
3.服務拆分。后臺服務越來越臃腫,是時候重新定義微服務了。我的拆分方案是將所有定時任務抽離成一個獨立的服務。某些耦合度高的還得后面再慢慢抽離。
使用Jprofiler遠程監控線上服務
Jprofiler是我知道的目前最牛逼的一個JVM性能監控工具,使用Jprofiler加jdk提供的jhat可以解決常見性能調優及故障排查問題。
有些問題還是使用jdk提供命令工具方便,得要根據具體情況選擇合適的工具,比如分析gc的日記文件可以用在線的gceasy網站分析。
上圖是我此次用來查找慢Sql的截圖,比我自己寫的慢sql監控插件實用多了。我寫的那個插件失敗在監控慢sql沒有用aop,而是分析sql的執行計劃。
Jprofiler的本地GUI工具安裝
Jprofiler本地工具安裝,安裝破解版可搜索我的往期文章,我記得我寫過的。
遠程服務器的下載安裝
需要特別注意的一點是,本地安裝的Jprofiler圖形界面工具一定要與遠程服務器安裝的版本號一致。否則遠程連接就連接不了。我就遇到這個坑,本地裝的9.2,遠程裝了9.1,結果還試了半天,在Linux上換個9.2的版本就行了。服務器Jprofiler版本去官網下載,本地去網上找個破解版。
先安裝本地,因為本地需要找破解版。官網下載頁面如下。
注意選擇版本號。
Linux服務器選擇Linux版本,獲取下載鏈接使用wget下載,或者先下載到本地再用ssh上傳到服務器。
下載完成后使用RPM安裝。如rpm -ivh jprofiler_linux_9_2_1.rpm。也可以下載gz壓縮包,直接解壓縮就行,怎么方便怎么來。
如果你的Jdk不是使用yum命令安裝的,那么你需要自己配置jdk環境變量,這步我覺得是廢話。
使用Jpenable配置遠程監控
在jprofiler的安裝目錄下,進入bin目錄有個jpenable工具,運行它,然后選擇你需要監控的java進程,如果當前只有一個java進程,默認會選擇這個進程,有多個java進程才會讓你自己選擇。
接著選擇profiling模式,輸入1選擇GUI,按回車。最后輸入一個端口號,該端口號是用于你本地Jprofiler與遠程jprofiler進程通信的端口。如果是阿里云或者亞馬遜的服務器,記得給端口配置安全組規則。如果有開啟防火墻記得開放該端口。具體步驟如圖所示。
本地監控遠程
按照步驟走。第一步創建一個會話,就是本地與遠程jprofiler的連接,通過建立連接,讀取遠程jprofiler監控目標java進程的信息。選擇new remote integration。
第二步,選擇本地還是遠程。選擇遠程機器,然后選擇服務器的系統和cpu架構。一般服務器都是x86或者amd的cpu。
第三步,配置遠程服務器使用的是哪個版本的jdk。
第四步,選擇先配置,后面再連接。
第五步,配置遠程服務器的ip地址
第六步,配置遠程機器jprofiler的安裝目錄
第七步
第八步,輸入遠程機器jprofiler監聽的端口,前面jpenable后配置的那個端口號。
接著Finish就配置好了。
連接失敗情況
1.遠程機器上執行./jpenable時,提示No unprofiles JVMs found?
分析:該Java進程已經開啟過監控了,需要將目標java進程kill掉然后重啟。
2.怎么關閉Jprofiler的遠程監控?
只有一種方式,就是重啟被監控的java進程,Jprofiler就會失效。重新監控需要重啟java進程后重新執行jpenable。
原理可參考我之前寫的一篇字節碼插樁實現業務代碼調用鏈監控的文章,只是jprofiler使用的是根據進程切入,復雜一些。也可以看阿里提供的Arthas的實現原理。或者看 Java SE 6 新特性---- Instrumentation 的新功能。
關于如何使用Jprofiler遠程監控線上服務問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。