jconsole

jconsole 启动一个图形控制台,使您可以监视和管理Java应用程序。JConsole图形用户界面是一个符合Java Management Extensions(JMX)规范的监视工具。JConsole使用Java虚拟机(Java VM)的广泛工具来提供有关Java平台上运行的应用程序的性能和资源消耗的信息。

启动JConsole

该JConsole的可执行文件中可以找到 JDK_HOME / bin中,其中JDK_HOME是在安装了Java开发工具包(JDK)的目录。如果此目录位于系统路径中,则只需在命令(shell)提示符下键入jconsole即可启动JConsole 。否则,您必须键入可执行文件的完整路径。

在windows命令窗口执行(当然你得先添加环境变量)jconsole -h 会弹出一个使用说明:

用法: jconsole [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]

-interval   将更新间隔设置为 n 秒 (默认值为 4 秒)
  -notile     初始不平铺窗口 (对于两个或多个连接)
  -pluginpath 指定 jconsole 用于查找插件的路径
  -version    输出程序版本

connection = pid || host:port || JMX URL (service:jmx:<协议>://...)
  pid         目标进程的进程 ID
  host        远程主机名或 IP 地址
  port        远程连接的端口号

-J          指定运行 jconsole 的 Java 虚拟机
              的输入参数

oracle的说明简洁明了,就不做多于说明了,若有不解,评论区见。也可以是天价后续命令,直接执行jconsole,则会弹出这个:

概览

本地进程会在列表里展示,只需要双击便能进入,远程进程需要在远程开启jmx端口,有口令的话输入口令,进入一个进程以后的样子就是这个样子:

在概览标签页,可以看到堆内存、线程、类、CPU 的走势,可以帮助我们对项目资源使用有个直观的了解。右键走势图,可以选择将数据另存为csv文件,jconsole会把每个时间的数值导出。内容分别是这个样子:

除此之外,jconsole还提供了内存、线程、类、VM概要、Mbean五个标签页,这五个标签页可以帮助我们对项目有着更详细的了解。接下来对每个标签页进行查看:

内存

1.可以随时执行GC回收

2.可选择内存范围:

3.详细信息包括:

  • 时间:当前时间。
  • 已用:当前使用的内存量,包括所有可访问和无法访问的对象占用的内存,。
  • 已提交:保证可供Java VM使用的内存量。提交的内存量可能会随时间而变化。Java虚拟机可以向系统释放内存,并且提交的内存量可能小于启动时最初分配的内存量。提交的内存量始终大于或等于已用内存量。
  • 最大值:可用于内存管理的最大内存量。它的值可能会改变或未定义。如果Java VM尝试将已使用的内存增加到大于提交的内存,则内存分配可能会失败,即使使用的数量小于或等于最大值(例如,当系统虚拟内存不足时)。
  • GC时间:垃圾收集的累计时间和调用总数。它可能有多行,每行代表Java VM中使用的一个垃圾收集器算法。

4.分别对应2中的选项,对每个选项进行百分比展示。

线程

1. 线程数峰值

2.活跃线程数

3.线程列表,选中线程会在右侧列出线程名称、状态、总阻止数、总等待数、堆栈跟踪等信息。

4.检测死锁,如果检测出死锁,则会在线程选项卡旁边新建选项卡:

类标签页展示了类的加载总数、当前加载总数、已卸载总数 。

VM概要

Mbean

官网:https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

Java应用程序监控之 jconsole相关推荐

  1. SCOM2012R2 APM系列(三) 配置Java应用程序监控

    之前写过一篇.NET应用监控的博文,其实那个比较潦草,我自己感觉描述的不够细致,SCOM的应用监控功能是一个很有力的卖点(至少我这么觉得),这次特地拿一个Java应用监控做讲解,我自己在调试的时候也遇 ...

  2. JMX:Java程序监控的基石

    JMX:Java程序监控的基石 一.什么是JMX? 二.JMX架构 1.MBean 1.1 MBean类型 1.2 常用的MBean 1.3 MBean和MXBean的区别 2.MBeanServer ...

  3. java监听微信_一种基于java后台应用监控微信小程序的用户访问量的方法与流程...

    本发明涉及java应用与微信小程序应用开发技术领域,具体涉及一种基于java后台应用监控微信小程序的用户访问量的方法. 背景技术: 微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了 ...

  4. java虚拟机内存监控_java虚拟机内存监控工具

    1.jps(JVM Process Status Tool):JVM机进程状况工具 -m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null. -l   输出应用程序主类的完整包名,或者 ...

  5. java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...

    将会打印出很多jvm运行时参数信息,由于比较长这里不再打印出来,可以自己试试,内容一目了然 Jstack(Stack Trace for Java):JVM堆栈跟踪工具 jstack用于打印出给定的j ...

  6. java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

    本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...

  7. 来自韩国的优秀Java应用性能监控软件JENNIFER

    来自韩国的优秀Java应用性能监控软件JENNIFER 详细可参考:http://www.innovatedigital.com/JENNIFER.html JENNIFER服务监控: ●连接中的实时 ...

  8. 深入理解Java虚拟机——程序编译与代码优化 (转)

    2019独角兽企业重金招聘Python工程师标准>>> 深入理解Java虚拟机--程序编译与代码优化 (转) 博客分类: java 一早期(编译期)优化 1概述 Java语言的&qu ...

  9. 降低Java占用_如何减少JAVA应用程序的CPU使用率?

    Linux机器上有两个Java进程(A,B)(CentOS 6.5 64位). A使用套接字向B发送大量二进制数据. B将数据写入磁盘.每秒将50-100MB数据写入磁盘.在四核处理器上,CPU几乎1 ...

最新文章

  1. visual-reasoning 笔记
  2. jackson中JSON字符串节点遍历和修改
  3. python入门教程完整版(懂中文就能学会)-Python入门教程完整版!(懂中文的就能学会)...
  4. windowservice创建及部署
  5. KDD Cup 2021:时间序列异常检测问题开源方案
  6. SQL Server全局禁用及打开指定的跟踪标记
  7. C语言,利用函数调用统计输出素数并统计素数和
  8. IOS UI UITableView
  9. 够酷!小米全新折叠屏方案曝光:这次轮到小米引领潮流了?
  10. linux迅雷下载命令,命令行也强大之下载迅雷资源的方法
  11. Java 生成随机数并进行查找
  12. 威富通实现微信支付概述
  13. 从攻击事件分析加密攻击类型、工具、防范方法和未来预测
  14. Python random模块(获取随机数)常用方法和使用例子
  15. APP+springboot订餐APP 毕业设计源码190711
  16. 2-6_Cleaning_Data
  17. 网络渗透——CTF实践
  18. iris接口返回json数据封装
  19. nvidia显卡相关信息查询
  20. java计算机毕业设计深州市特色蜜桃产业电子商务系统源程序+mysql+系统+lw文档+远程调试

热门文章

  1. 优启通制作系统u盘_优启通U盘启动盘制作工具BIOS+UEFI版v3.3.2019.0605
  2. 景观雕塑商城搭建应该注意些什么
  3. python 获取指定时区的时间——pytz
  4. 使用虚拟光驱重装系统
  5. R语言ggplot2 | 循环画图及导出
  6. Linux驱动实现灯循环闪烁,4.1、实现4个LED灯同时闪烁
  7. java urlrewrite_Java版URL Rewrite
  8. 信号的时域和频域特性的区别到底是什么?
  9. 如何在 Python 中验证用户输入
  10. 阿里巴巴的程序员等级