jvisualvm远程监控jvm(模拟死锁检测)

今天分享一个java,JDK自带的监控工具jvisualvm

1.在java的bin目录下面找到jvisualvm打开既可
在这里插入图片描述
2.启动后会自动检测运行的java进程
在这里插入图片描述

3.模拟死锁,简易代码如下

package test;
public class DeadLockDemo { 
	private static String A = "A"; 
	private static String B = "B"; 
	public static void main(String[] args) 
	{ 
		new DeadLockDemo().deadLock(); 
	}
	private void deadLock() 
	{ Thread t1 = new Thread(new Runnable() 
	{ @Override public void run() { synchronized (A) { 
		try { Thread.currentThread().sleep(2000); } 
		catch (InterruptedException e) { e.printStackTrace(); 
		}synchronized (B) { System.out.println("1"); 
		} 
		} 
	} 
	}
	); 

	Thread t2 = new Thread(new Runnable() { @Override public void run() { synchronized (B) { synchronized (A) { System.out.println("2"); } } } }); t1.start(); t2.start(); } }

3.点击监视可以查看对应的CPU(这里CPU是值JVM的虚拟机)
在这里插入图片描述

4.点击线程可以查看是否检查到死锁的状态
在这里插入图片描述

5.线程死锁分析
在这里插入图片描述

6.使用jstatd远程链接centos:
下面展示一些 内联代码片

cd /usr/lib/jdk1.8jre/lib/management/ (根据自己的目录来定 )
cp jmxremote.password.template jmxremote.password
chmod 644 jmxremote.password
VIM jmxremote.password

2.第二步去到java的bin目录下创建一个jstatd.all.policy(文件名就是这个)的文件内容为:

grant codebase “file:${java.home}/…/lib/tools.jar” {
permission java.security.AllPermission;
};

3.添加完成后运行守护进行运行
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.156 &
在这里插入图片描述

4.如果使用jmx链接的话:
单独在应用上配置如下JVM启动参数

-Djava.rmi.server.hostname=192.168.200.136 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.managementote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
其中java.rmi.server.hostname配置的是运行JVM所在的机器IP

这里配置后整个过程就算完成了,大家有问题可以加群欢迎各路大佬来群里面交流:
你来或不来我都在这里等你,等风也等你(337237612)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值