Visual VM可視化監視GC回收過程

我是一個從汽車行業轉行IT的項目經理,我是Edward,如想了解更多,請關注我的公衆號【轉行項目經理的逆襲之路】。今天又學了一招,一直在看關於JVM調優的理論知識,關於GC也聽了不少了,可是一直沒有形象的概念,Visual VM做到了,非常真實,來一起看看吧。

1、下載Visual VM

很多地方說這個軟件是自帶的,但是我確實沒在JDK的bin裏面找到,於是自己去網上下了個2.0版,也不大,分分鐘搞定,放到bin目錄下,打開來就可以看到這個界面,可以看到Eclipse已經出現了。

在這裏插入圖片描述

2、安裝插件

在這裏插入圖片描述

1、從主菜單中選擇“工具”>“插件”。
2、在“可用插件”標籤中,選中該插件的“安裝”複選框。單擊“安裝”。
3、逐步完成插件安裝程序。

可以將能選的都選上,都不大,5分鐘完事,如上圖,我就都安裝好了,不過你如果實在覺得麻煩,安裝Visual GC就可以了。

運行

package gctest;

import java.util.ArrayList;
import java.util.List;

/**
 * 模擬OOM   Visual VM監視GC 
* @author EP
* @date 2020年5月6日  
* @version 1.0
 */

public class HeapOom {
	byte[] b =  new byte[1024*100];
	

	public static void main(String[] args) throws InterruptedException {
		// TODO Auto-generated method stub
		
		List<HeapOom>all = new ArrayList<HeapOom>();
		while (true) {
			all.add(new HeapOom());
			Thread.sleep(10);
		}

	}

}

這裏有個模擬HeapOOM的代碼,大家可以試試。 程序運行以後,就會自動在VVM界面顯示,調到Visual VM界面就可以實時跟蹤。

在這裏插入圖片描述
可以看到Old區的內存佔用逐漸升高,最後程序報錯,OOM,Old區被清空。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章