jvm调优 java_opt_Java-100天知识进阶-JVM调优工具-JDK自带工具-知识铺《八》
原標題:Java-100天知識進階-JVM調優工具-JDK自帶工具-知識鋪《八》
JVM 監控分析工具
一、JDK 自帶工具
1. jconsole
JDK/bin 目錄下, jconsole.exe 雙擊打開, 自動搜索本機運行的虛擬機進程。選擇其中一個進程即可,開始進行JVM監控
1.1 基本介紹
JConsole 基本包括以下基本功能:概述、內存、線程、類、VM概要、MBean。
1.2 內存監控
1.2.1 內存視圖中可選,7中內存類型監控
1.2.2 內存視圖右下角有實時 堆與非堆的內存占用情況。
1.2.3 主體部分,可以看到一段時間內存的使用走勢。
定位問題:
一般定位問題的時候,這個走勢圖很重要。如果有內存泄漏,走勢圖會持續增長。不是像上圖所示,一直在5Mb徘徊,這種是正常現象,鋸齒狀,代表著程序的GC頻繁。
1.3 線程監控
定位問題:
這里可以很方便檢測是否有死鎖的線程。
1.3 類 加載的類走勢圖
1.4 VM 概要
1.5 MBean
可以看到這里是內存中加載的Bean
1.6 遠程監控
注意: 要使用 jconsole.exe 監控遠程tomcat,必須在啟動tomcat的時候,開啟JMX接口。
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
2. jmap 工具
2.1 查看堆使用情況
jmap -heap pid
2.2 查看各內存區的使用情況
2.2.1 Eden 區內存使用率 72%
2.2.2 From 和 To 區內存容量一樣大
young gc 很頻繁
3. VisualVM 工具
3.1 VisualVM 是一個工具,它提供了一個可視界面。
3.2 和 jconsole 工具不同的是,這個工具可以根據需要安裝插件。
安裝這些插件
3.3 常用的下面的監視視圖
CPU,堆,類,線程的使用情況走勢圖很清晰。
3.4 如果有異常情況,直接點擊 堆 Dump
3.5 類很清晰
清晰看到類加載的情況。實例數,大小,這些都是定位問題必須看的。
3.6 堆對比功能(排查問題很重要)
很清晰看到一段時間內,實例數猛增的是那些。
3.7 雙擊上圖中類名
這個視圖,查看實例數,具體某個實例的值是什么。很清晰。
可以看到實例中字段類型:數組,對象,基本類型,靜態字段,垃圾回收根節點,循環返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的jvm调优 java_opt_Java-100天知识进阶-JVM调优工具-JDK自带工具-知识铺《八》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二本 计算机专业2017分数线,2017
- 下一篇: java美元兑换,(Java实现) 美元