Fork me on GitHub

jvm 图形化工具之jconsole

原先我们学习了jvm的命令行工具,现在我们来学习命令行的可视化工具jconsole:

为了测试我们启动原先的springboot项目

jconsole工具

jconsole(Java Monitoring and Management Console)是一种基于 JMX 的可视化监视、管理工具,它管理部分的功能是针对 JMXMBean 进行管理,由于 MBean 可以使用代码、中间件服务器的管理控制台或者所有符合 JMX 规范的软件进行访问

jconsole集成了线程内存的可视化展示 .

1. 本地链接

启动

选择我们启动的进程,点击连接--不安全连接 进入到概览中如下:

点击内存

 堆内存一般站内存的1/3以下才正常。

线程

解决死锁的方案

其余几个不详细介绍,感兴趣可以自己看看

2. 远程链接

(1). 将springboot项目打成jar包--mvn install

(2). 将jar拷贝到远程服务器上

(3). 配置好jvm 参数启动jar包

jvm参数说明:

  • -Xms512m:JVM初始分配的堆内存
  • -Xmx512m:JVM最大允许分配的堆内存,按需分配
  • -XX:PermSize=64M:JVM初始分配的非堆内存
  • -XX:MaxPermSize=128M:JVM最大允许分配的非堆内存,按需分配
  • -XX:newSize=128M:新生代初始化内存的大小(注意:该值需要小于-Xms的值)。
  • -XX:MaxnewSize=128M:新生代可被分配的内存的最大上限(注意:该值需要小于-Xmx的值)
  • -Dcom.sun.management.jmxremote.port=9999 jmx远程连接端口
  • -Djava.rmi.server.hostname=192.168.152.128(填写自己的ip)
  • -Dcom.sun.management.jmxremote.ssl=false https验证为false
  • -Dcom.sun.management.jmxremote.authenticate=false 不进行身份认证

启动jar包:

由于命令太长我们写成启动脚本run.sh

!#/bin/bash
nohup java -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxNewSize=128m -Dcom.sun.management.jmxremote.port=9999 -Djava.rmi.server.hostname=192.168.152.128 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar ./is-jvm-0.0.1-SNAPSHOT.jar &

 赋予run.sh可执行权限

chmod +x run.sh

 启动:

./run.sh

表示启动成功

连接:

出现如下图则表示连接成功

 分析过程和本地连接是一样的,可以自己试试。

posted @ 2019-09-25 00:04  xbwang520  阅读(465)  评论(0编辑  收藏  举报