1. 程式人生 > >如何使用JVisualVM進行效能分析

如何使用JVisualVM進行效能分析

連線

1、本地機器的程式直接可以監聽到

2、遠端機器的程式需要加上JVM引數

-Dcom.sun.management.jmxremote= true
-Dcom.sun.management.jmxremote.port= 9090
-Dcom.sun.management.jmxremote.ssl= false
-Dcom.sun.management.jmxremote.authenticate= false

如果遇到啟動不起來,並丟擲類似一下異常,

[[email protected] global]# Error: Exception thrown by the agent : 
java.net.MalformedURLException: Local host name unknown: 
java.net.UnknownHostException: badboy: badboy: Name or service not known

則需要在/etc/hosts 新增 主機名字對映到IP地址的方法

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.37 GM001

這裡有個分析案例,利用jvisualvm分析tomcat的問題:

外掛安裝

tools->plugin->Available Plugin 會有值得安裝的外掛,如:

VisualGC JConsole


注意:上面提供的埠配置有些麻煩,不如直接這樣做:

要使用 VisualGC 必須在遠端機上啟動jstatd代理程式,否則會顯示 “not supported for this jvm” 錯誤

而啟動 jstatd 時會有一個許可權問題,需要做如下修改:

nano /opt/sun-jdk- 1.6 . 0.26 /jre/lib/security/java.policy

Java程式碼  收藏程式碼
  1. nano /opt/sun-jdk-1.6.0.26/jre/lib/security/java.policy  

增加下列行

Java程式碼  收藏程式碼
  1. grant codebase "file:${java.home}/../lib/tools.jar"
     {  
  2.  permission java.security.AllPermission;  
  3. };  

然後啟動 jstatd並且不要關閉

如:

Threads


檢視執行緒的執行情況,執行、停止、睡眠、等待,根據這些結合實際程式執行的邏輯分析。

找到可疑份子,可以Thread Dump  找出具體是哪個執行緒在作祟。

profile

相關推薦

如何使用JVisualVM進行效能分析

連線 1、本地機器的程式直接可以監聽到 2、遠端機器的程式需要加上JVM引數 -Dcom.sun.management.jmxremote= true -Dcom.sun.management.jmxremote.port= 9090 -Dcom.

.Net Core使用 MiniProfiler 進行效能分析(轉)

轉自:http://www.cnblogs.com/ideacore/p/9505425.html 官方文件: https://miniprofiler.com/dotnet/AspDotNetCore 1、新增包 MiniProfiler.AspNetCore.Mvc  &

用 dotTrace 進行效能分析時,各種不同效能分析選項的含義和用途

對 .NET 程式進行效能分析,dotTrace 能應對絕大多數的場景。在開啟一個程序進行效能分析之前,我們會看到一些效能分析選項(Profiler Options)。本文將介紹這幾個選項的含義,並用實際的例子來說明其用途。 本文內容

Linux下用火焰圖進行效能分析

1 火焰圖簡介 很多人感冒發燒的時候, 往往會模仿神農氏嘗百草的路子: 先嚐嘗抗病毒的藥, 再試試抗細菌的藥, 甭管家裡有什麼藥挨個試, 什麼中藥西藥, 瞎貓總會碰上死耗子, 如此做法自然是不可取的, 正確的做法應該是去醫院驗個血, 確診後再對症下藥. 讓我們回

使用 VisualVM 進行效能分析及調優

原文轉載 概述 開發大型 Java 應用程式的過程中難免遇到記憶體洩露、效能瓶頸等問題,比如檔案、網路、資料庫的連線未釋放,未優化的演算法等。隨著應用程式的持續執行,可能會造成整個系統執行效率下降,嚴重的則會造成系統崩潰。為了找出程式中隱藏的這些問題,在專案開發後期往

使用Perf4J進行效能分析和監控

原文地址:http://www.infoq.com/cn/articles/perf4j/ 許多開發人員都很熟悉墨菲法則的一個例子:他們發現在花費了大量時間確保應用程式在開發環境中快速和靈活之後,在釋出到生產環境的時候效能會不可思議的大幅下降。更糟糕的是,應用程式平時執行

【Java VisualVM】使用 VisualVM 進行效能分析及調優

一、概述 開發大型 Java 應用程式的過程中難免遇到記憶體洩露、效能瓶頸等問題,比如檔案、網路、資料庫的連線未釋放,未優化的演算法等。隨著應用程式的持續執行,可能會造成整個系統執行效率下降,嚴重的則會造成系統崩潰。為了找出程式中隱藏的這些問題,在專案開發後期

perf+gprof+gprof2dot+graphviz進行效能分析熱點

perf分析熱點程式碼perf是linux的一款效能分析工具perf list            ;;列出平臺中perf支援的事件命令sudo perf timechart record python conv2d.py   ;;各種統計資訊圖形化sudo perf ti

效能測試--聯合使用jvisualVM與jmeter進行效能測試與介面效能分析

在使用PerfTest進行介面的測試之後,該工具可以進行簡單的效能測試,但是對於http請求進行模擬不方便,趁這次機會,學習使用jmeter進行效能測試及分析。 之前用過jvisualVM,本次就結合jmeter一起,進行效能測試與原因分析。本篇文章分為兩大部

利用PyCharm的Profile工具進行Python效能分析

Profile: PyCharm提供了效能分析工具Run-》Profile,如下圖所示。利用Profile工具可以對程式碼進行效能分析,找出瓶頸所在。 測試: 下面以一段測試程式碼來說明如何使用pycharm的Profile功能。 測試程式碼見下文,檔案命名為

使用JDK自帶的VisualVM進行Java程式的效能分析

VisualVM是什麼? VisualVM是JDK自帶的一個用於Java程式效能分析的工具,JDK安裝完畢後就有啦,在JDK安裝目錄的bin資料夾下能找到名稱為jvisualvm.exe。 要使用VisualVM分析您的應用效能,首先得讓Visual

介紹一個對陌生程式快速進行效能瓶頸分析的技巧

   前言          工作多年,一直做的是curd系統。前幾年做的系統應用場景,大多對資料庫依賴比較重。例如報表統計,資料遷移,批量對賬等。所以這些系統出現效能瓶頸一般出在資料庫操作上面。   &

Linux下利用Valgrind工具進行記憶體洩露檢測和效能分析

Valgrind通常用來成分析程式效能及程式中的記憶體洩露錯誤 一 Valgrind工具集簡紹 Valgrind包含下列工具:     1、memcheck:檢查程式中的記憶體問題,如洩漏、越界、非法指標等。     2、callgrind:檢測程式程式碼的執行

使用FreeRTOS進行效能和執行時分析

在MCU on Eclipse網站上看到Erich Styger在2月25日發的博文,一篇關於使用FreeRTOS進行效能和執行分析的文章,本人覺得很有啟發,特將其翻譯過來以備參考。當然限於個人水平,有描述不當之處懇請指正。原文網址:https://mcuoneclipse.

mysql使用explain進行查詢效能分析

一、首先新建員工表和部門表,並載入資料,新建mysql.sql,如下:create table emp(empno int,ename varchar(20),job varchar(20),mgr int,hiredate varchar(20),sal double,co

SSH登陸遠端Linux伺服器執行VisualVM, 進行Java效能分析

SSH登陸遠端Linux伺服器是普遍的方式,下面講述如何使用Putty,Xming工具在Windows機器上SSH登陸到Linux伺服器,並執行VisualVM視覺化介面程式,進行Java效能分析。 Step 1: 配置Linux伺服器上sshd_config檔案, 允許X

Java中使用jvisualvm進行視覺化記憶體分析

在前面我們說過java中的GC的相關內容: 下面來說說視覺化的GC工具-jvisualvm,jvisualvm已經被整合在jdk1.6以上的版本中 進入我們jdk的bin目錄下面,我們

arm linux下交叉編譯valgrind工具進行記憶體洩露檢測和效能分析

C/C++等底層語言在提供強大功能及效能的同時,其靈活的記憶體訪問也帶來了各種糾結的問題。如果crash的地方正是記憶體使用錯誤的地方,說明你人品好。如果crash的地方記憶體明顯不是consistent的,或者記憶體管理資訊都已被破壞,編譯器不能發現這些問題,.執行時才能捕獲到這些錯誤並且還是隨機出現的,那

前端效能優化之利用 Chrome Dev Tools 進行頁面效能分析

背景 我們經常使用 Chrome Dev Tools 來開發除錯,但是很少知道怎麼利用它來分析頁面效能,這篇文章,我將詳細說明怎樣利用 Chrome Dev Tools 進行頁面效能分析及效能報告資料如何解讀。 分析面板介紹 上圖是 Chrome Dev Tools 的一個截圖,其中,我認為能用於進行頁面

使用Apriori進行關聯分析(一)

不一定 再計算 add 在一起 num create images loaddata scan   大型超市有海量交易數據,我們可以通過聚類算法尋找購買相似物品的人群,從而為特定人群提供更具個性化的服務。但是對於超市來講,更有價值的是如何找出商品的隱藏關聯,從而打包促銷,以