该工具为jdk自带工具,打开jdk安装目录,在bin目录下即可找到该工具。
或者可以通过命令行键入jconsole打开该工具的图形化界面。可以通过该工具查看内存使用状态,及手动GC。
测试代码如下:
运行时选择,
Run Configurations->VM arguments 配置参数
设置虚拟机参数:
-Xms100M -Xms100m -XX:+UseSerialGC -XX:+PrintGCDetails
import java.util.ArrayList;
import java.util.List;
public class JconsoleTest {
static class OOMObject {
public byte[] placeholder = new byte[64 * 1024];
}
public static void fillHeap(int num) throws InterruptedException {
Thread.sleep(20000); //先运行程序,在执行监控
List<OOMObject> list = new ArrayList<OOMObject>();
for (int i = 0; i < num; i++) {
// 稍作延时,令监视曲线的变化更加明显
Thread.sleep(50);
list.add(new OOMObject());
}
System.gc();
}
public static void main(String[] args) throws Exception {
fillHeap(1000);
while(true){
//让其一直运行着
}
}
}
即可看到内存占用及触发的内存回收状态。