java性能分析jconsole详解
前言:
本章节继续学习java性能优化的相关知识。重点学习什么是jconsole,以及如何使用?它能帮助我们做什么?
jconsole简介
提供JVM图形化视图,包括内存、线程、类、cpu等信息。用户可以通过jconsole工具去连接指定的jvm,监控jvm的变化。
我们可以在jdk的安装文件bin当中找到它:

双击运行会打开如下界面,上面是本地的java进程,下面是通过远程的方式连接服务器上面的java进程。

我们随便点击一个本地进程得到如下的界面:

jconsole远程
jconsole除了可以查看本地的jvm信息,还能够查看远程服务的jvm信息。前提是在远程服务启动的时候,添加下面的参数:
-Dcom.sun.management.jmxremote=true # 服务器ip -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx # 设置jconsole连接的端口 -Dcom.sun.management.jmxremote.port=8090 # 是否使用账号密码 -Dcom.sun.management.jmxremote.authenticate=false # 关闭ssl -Dcom.sun.management.jmxremote.ssl=false
如下所示:
nohup java -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar -Xms1g -Xmx1g weather-forecast-0.0.1-SNAPSHOT.jar>/dev/null &
此时我们打开windows中的jconsole,进行连接:

此时我们仍然是不能连接成功的,主要原因是jmx需要的端口不知我们指定的一个,如我使用的8090,还有另外两个,使用netstat -nltp命令查看如下:

所以我们需要在防火墙除 8090 外,将这两个端口也开放,如果是云服务器就要去控制台开放对应的策略。完成上面的操作总算可以完成远程连接,对我们的jvm进行监控了。
到此这篇关于java性能分析jconsole详解的文章就介绍到这了,更多相关java jconsole内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springBoot+mybatis-plus实现监听mysql数据库的数据增删改
mybatis-plus技术是简化了繁琐的代码操作,把增删改查的语句都内置了,直接调用就可以实现数据库的增删改查了,这篇文章主要给大家介绍了关于springBoot+mybatis-plus实现监听mysql数据库数据增删改的相关资料,需要的朋友可以参考下2024-01-01
idea运行tomcat报错找不到catalina.bat,系统找不到指定的文件问题
这篇文章主要介绍了idea运行tomcat报错找不到catalina.bat,系统找不到指定的文件问题,具有很好的参考价值,希望对大家有所帮助,2023-11-11
SpringMVC HttpMessageConverter报文信息转换器
HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文。HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntity2023-01-01
Java中的StringTokenizer实现字符串切割详解
这篇文章主要介绍了Java中的StringTokenizer实现字符串切割详解,java.util工具包提供了字符串切割的工具类StringTokenizer,Spring等常见框架的字符串工具类(如Spring的StringUtils),需要的朋友可以参考下2024-01-01


最新评论