Java GC系列(4):垃圾回收监视和分析
轉載自? Java GC系列(4):垃圾回收監視和分析
在這個Java GC系列教程中,讓我們學習用于垃圾回收監視和分析的工具。然后,選用一種工具來監視一個Java示例程序的垃圾回收過程。如果你是一名初學者,你最好仔細閱讀該系列教程。你可以從這里(垃圾回收介紹)開始。
Java GC監視和分析工具
下面是一些可用的工具,每個都有自己的優勢和缺點。我們可以通過選擇正確的工具并分析,來提升應用程序的性能。這篇教程中,我們選用Java VisualVM。
- Java VisualVM
- Naarad
- GCViewer
- IBM Pattern Modeling and Analysis Tool for Java Garbage Collector
- HPjmeter
- IBM Monitoring and Diagnostic Tools for Java-Garbage Collection and Memory
- Visualizer
- Verbose GC Analyzer
Java VisualVM
Java VisualVM使用是免費的,其需要安裝Java SE SDK。看一下Java JDK的bin文件夾中(路徑:\Java\jdk1.8.0\bin),這里面有很多javac和java工具,jvisualvm就是其中之一。
Java VisualVM能夠被用于:
- ? 生成并分析堆的內存轉儲;
- ? 在MBeans上觀察并操作;
- ? 監視垃圾回收;
- ? 內存和CPU性能分析;
1、啟動VisualVM
jvisualvm位于JDK bin文件夾下,直接點擊就可以。
在這個Java GC系列教程中,讓我們學習用于垃圾回收監視和分析的工具。然后,選用一種工具來監視一個Java示例程序的垃圾回收過程。如果你是一名初學者,你最好仔細閱讀該系列教程。你可以從這里(垃圾回收介紹)開始。
Java GC監視和分析工具
下面是一些可用的工具,每個都有自己的優勢和缺點。我們可以通過選擇正確的工具并分析,來提升應用程序的性能。這篇教程中,我們選用Java VisualVM。
- Java VisualVM
- Naarad
- GCViewer
- IBM Pattern Modeling and Analysis Tool for Java Garbage Collector
- HPjmeter
- IBM Monitoring and Diagnostic Tools for Java-Garbage Collection and Memory
- Visualizer
- Verbose GC Analyzer
Java VisualVM
Java VisualVM使用是免費的,其需要安裝Java SE SDK。看一下Java JDK的bin文件夾中(路徑:\Java\jdk1.8.0\bin),這里面有很多javac和java工具,jvisualvm就是其中之一。
Java VisualVM能夠被用于:
- ? 生成并分析堆的內存轉儲;
- ? 在MBeans上觀察并操作;
- ? 監視垃圾回收;
- ? 內存和CPU性能分析;
1、啟動VisualVM
jvisualvm位于JDK bin文件夾下,直接點擊就可以。
2、安裝可視化GC插件
我們需要安裝可視化GC插件,以便在Java GC過程中有良好的視覺感受。
3、監視GC
現在,是時候監視垃圾回收進程了,開啟你的Java程序,它將自動被檢測到并顯示到Java VisualVM界面,左側“Application”(應用程序)窗口下,“Local”(本地節點)下,所有本地運行的Java程序都會被列出。
Java VisualVM是一個Java應用程序,因此它也會被列在其中,教程的意圖在于使用VisualVM來監視它自己的GC進程。
雙擊“Local”(本地)下的VisualVM圖標。
現在,程序監控窗口在右側打開,這有許多不同關于應用程序性能的相關監視指數的tab頁,目前為止,我們最感興趣的是“Visual GC”,點擊它。
上面圖片顯示在Old、Eden、S0和S1上空間利用情況,下圖顯示了每部分空間的分配和釋放情況。它按照指定的刷新率保持持續刷新。
上面圖片所展示的是正常運行程序的情況,當出現內存泄露或者反常的行為時,它會在圖表中明確的顯示出來。最少我們能理解他是與對象內存分配和垃圾回收相關的事情。隨后,通過其他tab頁(像“Threads”)和Thread Dump的幫助,我們能夠減少這個問題。
在“Monitor”tab頁中,我們能夠監控并定時展示所有堆內存使用情況圖。通過“Perform GC”按鈕可以啟動垃圾回收進程。
在“Sampler”tab頁中,我們能夠啟動內存和CPU性能分析,它將顯示詳細每個實例使用的實時報告,它將幫助我們明確性能問題。
這篇教程是我們四篇Java垃圾回收系列教程的最后一篇。
2、安裝可視化GC插件
我們需要安裝可視化GC插件,以便在Java GC過程中有良好的視覺感受。
3、監視GC
現在,是時候監視垃圾回收進程了,開啟你的Java程序,它將自動被檢測到并顯示到Java VisualVM界面,左側“Application”(應用程序)窗口下,“Local”(本地節點)下,所有本地運行的Java程序都會被列出。
Java VisualVM是一個Java應用程序,因此它也會被列在其中,教程的意圖在于使用VisualVM來監視它自己的GC進程。
雙擊“Local”(本地)下的VisualVM圖標。
現在,程序監控窗口在右側打開,這有許多不同關于應用程序性能的相關監視指數的tab頁,目前為止,我們最感興趣的是“Visual GC”,點擊它。
上面圖片顯示在Old、Eden、S0和S1上空間利用情況,下圖顯示了每部分空間的分配和釋放情況。它按照指定的刷新率保持持續刷新。
上面圖片所展示的是正常運行程序的情況,當出現內存泄露或者反常的行為時,它會在圖表中明確的顯示出來。最少我們能理解他是與對象內存分配和垃圾回收相關的事情。隨后,通過其他tab頁(像“Threads”)和Thread Dump的幫助,我們能夠減少這個問題。
在“Monitor”tab頁中,我們能夠監控并定時展示所有堆內存使用情況圖。通過“Perform GC”按鈕可以啟動垃圾回收進程。
在“Sampler”tab頁中,我們能夠啟動內存和CPU性能分析,它將顯示詳細每個實例使用的實時報告,它將幫助我們明確性能問題。
這篇教程是我們四篇Java垃圾回收系列教程的最后一篇。
總結
以上是生活随笔為你收集整理的Java GC系列(4):垃圾回收监视和分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称台积电将下调今年资本支出,降至 3
- 下一篇: OPPO Find N3 折叠屏手机搭载