1. 程式人生 > >IDEA安裝使用 VisualVM 及VisualVM 遠端監視

IDEA安裝使用 VisualVM 及VisualVM 遠端監視

1. VisualVM是什麼

按照VisualVM官網(http://visualvm.github.io/)上的介紹,VisualVM是一個整合命令列JDK工具和輕量級分析功能的視覺化工具。專為開發和生產時間使用而設計。

我們在jdk安裝包中也可以發現它

2. IDEA安裝VisualVM外掛

File-> Setting-> Plugins -> Browers Repositrories 搜尋VisualVM Launcher安裝並重啟IDEA。

出現上圖中的兩個按鈕即為安裝成功,當我們通過他們啟動專案時,會自動開啟VisualVM控制檯面板。

3. VisualVM本地使用

右側有概述(Overview)、監視(Monitor)、執行緒(Threads)、抽樣器(Sampler)幾個標籤,其中

  • 概述中可以看到程式的基本資訊和啟動引數、環境變數等等;
  • 監視是幾個折線圖,用於顯示CPU、記憶體(分為Heap和Metaspace)、類和執行緒的使用情況或者數量,另外還包括執行垃圾回收和對堆 Dump的快捷功能;
  • 執行緒可詳細檢視每個執行緒的執行時間及狀態等;
  • 抽樣器可對CPU和記憶體進行一段時長的取樣,從而對應用程式進行分析。

使用時,可通過監視中的各個折線圖檢視系統的變化,如果執行某段程式時,某個指標出現突然增大等問題,同時程式執行也出現問題,可進入到該面板做細緻檢查。

如果某段程式執行時CPU飆升或者記憶體溢位,此時排除系統性能原因,多半是由於低效的程式碼或者不合理的堆空間分配引起,可以在復現該問題的同時到抽樣器面板進行抽樣,從而確定應該優化哪個方法或者分配多大記憶體。

當對一個多執行緒應用程式進行除錯或者開發後期做效能調優的時候,往往需要了解當前程式中所有執行緒的執行狀態,是否有死鎖、熱鎖等情況的發生,從而分析系統可能存在的問題。在 VisualVM 的監視標籤和執行緒標籤內,我們可以檢視當前應用程式中所有活動執行緒(Live threads)和守護執行緒(Daemon threads)的數量等實時資訊。

4. 遠端監視

在實際工作中,需要在本機監控的生產環境下的jvm,Visualvm目前支援兩種remote connection方式,

分別是jstatd和JMX方式: 這裡主要介紹的是通過JMX方式.。

4.1 修改遠端jvm配置

進入JAVA_HOME\jre\lib\management\,拷貝一份jmxremote.password.template 並改名為 jmxremote.password到當前目錄,並去掉# monitorRole  QED 和 # controlRole  R&D 這兩行前面的註釋符號。

 

[[email protected] ~]# cd /usr/java/jdk/jdk1.8.0_172/jre/lib/management
[[email protected] management]# cp jmxremote.password.template jmxremote.password
[[email protected] management]# ls
jmxremote.access  jmxremote.password  jmxremote.password.template  management.properties  snmp.acl.template
[[email protected] management]# vim jmxremote.password
[roo[email protected] management]# chmod 600 jmxremote.password
[[email protected] management]# chown root jmxremote.password

我這裡使用的是預設的兩個遠端控制賬號,如果在 jmxremote.password 中自定義了遠端登入賬號和密碼,需要修改同目錄下的jmxremote.access 檔案,該檔案可以控制訪問許可權。

4.2 修改遠端機器上需要被監控的程式的配置檔案 

我這裡是監控Tomcat容器內部署的應用

修改TOMCAT_HOME/bin/catalian.sh檔案,新增

export JAVA_OPTS="-Djava.rmi.server.hostname=47.xx.xxx.xx1 -Dcom.sun.management.jmxremote.port=18999  -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"

詳細引數如下

 引數描述
com.sun.management.jmxremote true / false. Default is true
com.sun.management.jmxremote.port Port number. No default.
com.sun.management.jmxremote.ssl true / false. Default is true.
com.sun.management.jmxremote.ssl.enabled.protocols Default SSL/TLS protocol version.
com.sun.management.jmxremote.ssl.enabled.cipher.suites Default SSL/TLS cipher suites.
com.sun.management.jmxremote.ssl.need.client.auth true / false. Default is false
com.sun.management.jmxremote.authenticate true / false.Default is true
com.sun.management.jmxremote.password.file JRE_HOME/lib/management/jmxremote.password
com.sun.management.jmxremote.access.file JRE_HOME/lib/management/jmxremote.access
com.sun.management.jmxremote.login.config Default login configuration is a file-based password authentication

重啟tomcat。

可以用 netstat -anp| grep 18999 ,檢視守護執行緒是否已經啟動。

4.3 VisualVM配置

相關推薦

IDEA安裝使用 VisualVM VisualVM 遠端監視

1. VisualVM是什麼 按照VisualVM官網(http://visualvm.github.io/)上的介紹,VisualVM是一個整合命令列JDK工具和輕量級分析功能的視覺化工具。專為開發和生產時間使用而設計。 我們在jdk安裝包中也可以發現它 2. IDEA安裝VisualVM外掛

Intellij IDEA 安裝 lombok使用詳解

junit equal 排查 code 數據 undefine img get 導致   在項目開發中會經常使用到bean,entity等類,絕大部分數據類中都需要get、set、toString、equals和hashCode方法,雖然eclipse和idea開發環境下都

Intellij IDEA 安裝lombok使用詳解

name equal logging for 自動 pack filesize 環境 1.3 項目中經常使用bean,entity等類,絕大部分數據類類中都需要get、set、toString、equals和hashCode方法,雖然eclipse和idea開發環境下都有自

Intellij IDEA 安裝lombok使用詳解(轉載)

最近專案中用到了 IDEA 的 Lombok 外掛,這裡做一個記錄。      Lombok 官方說明文件:http://plugins.jetbrains.com/plugin/6317-lombok-plugin 轉載原文地址:

記錄Ubuntu16.04 安裝mysql設定遠端登入&phpmyadmin安裝

記錄Ubuntu16.04 安裝mysql及設定遠端登入&phpmyadmin安裝 安裝mysql及設定遠端登入 安裝mysql 一開始像之前那樣參考一篇網上的部落格,按照以下操作執行命令 sudo apt-get update su

ubuntu 下安裝memcached配置遠端訪問

官網地址 wget 下載 wget http://memcached.org/files/memcached-1.5.9.tar.gz 解壓 tar -zxvf memcached-1.

Linux CentOS7安裝Mysql解決遠端連線mysql錯誤1130

centos預設安裝了mariadb,因此,在安裝mysql之前,需要解除安裝系統中安裝的mariadb。 檢視系統中所有已安裝的mariadb包。命令:rpm -qa | grep mariadb  解除安裝mariadb。命令:rpm -

IDEA 安裝 VisualVM 外掛

首先進入 Settings 頁面。 輸入 Plugins , 搜尋 VisualVM Launcher 進行安裝,重啟編譯器有效(我之前安裝過了)。 重啟編譯器後,編譯器右上方出現了新的 Run 和 Debug 按鈕。 點選新的 Run 按鈕,出現下方配置框,並且提示

Idea安裝lombok插件使用

pid tid end dea ava oar class ack idea 安裝lombok插件:File-settings 具體步驟如下圖:1 2、找到Plugins 然後在搜索欄裏搜索lombok 點擊下放的Search in repositories 3、選中l

idea遷移到其他電腦,省去重新安裝破解配置

idea遷移到其他電腦,省去重新安裝破解及配置,要求路徑與之前的電腦保持相同。 1. 將idea的配置目錄資料夾整個複製過去,預設路徑 C:\Users\Administrator\.IntelliJIdea2017.1   2. 將idea的安裝目錄資料夾整個複製過去   3.

Maven安裝配置IDEA Intellji 配置

一、Maven安裝及配置 1.下載安裝包:apache-maven-3.5.2.zip,下載地址:http://maven.apache.org/download.cgi 2.安裝及配置環境變數: $ 安裝 -> 解壓apache-maven-3.5.2.zip -> D:\app

IDEA安裝、配置解除安裝

2018-12-04  IDEA 安裝: 此處為最新版2018.3 官網下載地址:http://www.jetbrains.com/idea/download/#section=windows 雙擊下載的exe程式 點選next 選擇安裝地址

IntelliJ IDEA安裝jsp開發環境搭建

一、前言   現在.net國內市場不怎麼好,公司整個.net組技術轉型,就個人來說還是更喜歡.net,畢竟不是什麼公司都像微軟一樣財大氣粗開發出VS這樣的宇宙級IDE供開發者使用,雙擊sln即可開啟專案,一直想吐槽為嘛java專案只能import。昨天一路踩坑,花了一整

2018 kali 安裝 Redis 配置可遠端訪問

一、線上下載 # wget http://download.redis.io/releases/redis-4.0.11.tar.gz 二、安裝 # 1.解壓 # tar -zxvf redis-

IDEA安裝破解永久版教程————鵬鵬

---恢復內容開始---   首先我們先來介紹下什麼是IDEA? IDEA 全稱 IntelliJ IDEA,是java程式語言開發的整合環境。IntelliJ在業界被公認為最好的java開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE支援、各類版本工具(git、svn等)、

IntelliJ IDEA安裝破解使用

下載 下載 下載 二、破解。 百度下載一個 JetbrainsCrack-2.6.2.jar 破解補丁。放在你的安裝idea下面的bin的目錄下面。 下載連結:http://idea.lanyus.com/ 在安裝的idea下面的bin目錄下

IntelliJ IDEA使用教程九 Mybatis外掛 安裝啟用使用

安裝Mybatis外掛 安裝Mybatis 注意,官方最新的外掛是3點幾版本的,沒法用下面的方法啟用。分享一個 2.91 版本的外掛。 下載外掛,從磁碟安裝就行 安裝完成之後,重啟

ubuntu 下rabbitMQ安裝配置遠端訪問web管理介面

#1 更新 apt-get update apt-get upgrade #2 安裝Erlang wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc apt-key add erla

Intellij IDEA 安裝破解方式(不看後悔的哦!!!)

IDEA開發工具是java語言開發的整合環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE支援、各類版本工具(git、svn、github等)、JUnit、CVS整合、程式碼分析、 創新的GUI設計等方面的功能

ntellij IDEA中使用MyBatis plugin外掛安裝教程破解方法

安裝教程以及破解過程的詳解:前言:由於第一次使用MyBatis_plugin外掛,所以第一步肯定是官網瞭解一下是否可以直接使用,根據官網資訊是需要購買然後才能正常使用,看了一下價格69.99刀,如果你們需要購買,官網連結:點選開啟連結 。然後你們懂滴,繞道而行,去百度和goo