JConsole使用

JConsole( Java- Monitoring and Management Console)是一种基于JMX的可视化监视管理工具。
属于jdk自带的软件,在目录%HOME%\bin\jconsole.exe

下面列举三个例子测试JConsole功能使用

查看eclipse运行情况

连接上eclipse程序
在这里插入图片描述
查看Overviw掌握全局情况,包括内存、线程、class、cpu情况
在这里插入图片描述
内存详细查询,这里我们查看Eden区使用情况,和Eden总大小
在这里插入图片描述
查看Vm summary
在这里插入图片描述
启动参数

VM arguments: 
-Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Dosgi.dataAreaRequiresExplicitInit=true -Xms1024m -Xmx1024m -Xmn600m -XX:SurvivorRatio=5 -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar 
Class path: 
C:\tools\software\eclipse\\plugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar;lombok.jar
Library path: 
C:\tools\software\eclipse;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/bin/server;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/bin;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/lib/amd64;C:\Program Files (x86)\NetSarang\Xftp 6\;C:\Program Files (x86)\NetSarang\Xshell 6\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Adaptiva\AdaptivaClient\bin\x32;C:\Program Files (x86)\Adaptiva\AdaptivaClient\bin\x64;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\tools\software\apache-maven-3.6.0\bin\;C:\Program Files\Java\jdk1.8.0_45\bin;C:\Program Files\TortoiseSVN\bin;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\MinGW\bin;C:\tools\software\cmder;C:\Users\EDENJIL\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Java\jdk1.8.0_45\bin;C:\Program Files\Java\jdk1.8.0_45\jre\bin;C:\Users\EDENJIL\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\EDENJIL\AppData\Local\Programs\Fiddler;C:\tools\software\eclipse;;.
Boot class path: 
C:\Program Files\Java\jdk1.8.0_45\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_45\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_45\jre\classes;lombok.jar

其中参数设置来自于eclipse配置文件eclipse.ini
在这里插入图片描述

通过上述操作,我们可以大概掌握eclipse运行情况

查看自己写的程序运行情况

测试代码

public class JconsoleTest {
	
	static class OOMObejct {
		public byte[] b = new byte[64 * 1024];
	}

	public static void main(String[] args) throws InterruptedException {
		fill();
		// System.gc();
	}

	/**  
	 * <p>Title: fill</p>  
	 * <p>Description: </p>  
	 */
	private static void fill() throws InterruptedException {
		List<OOMObejct> list = new ArrayList<>();
		for (int i = 0; i < 1000; i++) {
			Thread.sleep(50);
			list.add(new OOMObejct());
		}
	}

}

需要设置运行虚拟机参数为:-Xms100m -Xmx100m -XX:+UseSerialGC

运行情况,Eden区不断地占满,对象不会被回收,将对象移到Old区,所有Eden区内存使用情况呈现V字形状
在这里插入图片描述
Heap内存一直上升
在这里插入图片描述

多线性死锁分析

由于这篇之前已经写过,参考分析java线程死锁

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值