【JAVA教程】關於加強visualvm的一些想法

   VisualVM是一個以監控、顯示本地或者遠程服務器JVM工做狀況,進行性能調優的工具。藉助VisualVM,咱們能夠實現對JVM內存各個子池、CPU、垃圾收集器等方面進行監控,從而發現程序代碼中潛在的泄露點和配置問題。此外visualvm是jdk裏自帶的一款比較實用的可視化profiling工具。java


想法1:遠程鏈接經過ssh隧道穿透隔離網絡訪問生產環境安全

java有處理ssh協議的第三方包,ssh隧道只要對端安裝有openssh server都能搞定。服務器

因此,只須要開發一個visualvm的新遠程鏈接插件,便可穿透隔離網絡在visualvm的可視化界面下,profling生產環境主機。網絡


固然,安全性和權限須要同時考慮。ssh


想法2:使遠程和本地提供的特性一致ide

visualvm能夠用來分析 cup, thread, heap, 採樣cpu和內存,heap dump等。工具

但絕大多數功能僅限於本地。性能

雖然visualvm也提供了遠程訪問的功能,但其功能大幅縮水。官方提供的特性列表以下:spa

wKioL1VsE9XxaEihAAGCcVSLCGg843.jpg

   幸虧visualvm是開源的,爲了實現想法2的功能,咱們只須要改進一下visualvm的實現,引入一個特殊的遠程agent(替換jstatd)。該agent用於訪問本機java進程。這樣,visualvm的遠程訪問鏡像到本地,同時也具有本地的全部功能。若是想法1和想法2都能實現,我以爲visualvm的使用範圍會更廣。插件


PS:JAVA交流羣:457036818

相關文章
相關標籤/搜索