文章目录

    • 1. jps_查看JVM进程ID(Java Virtual Machine Process Status Tool)
    • 2. jinfo_查看和调整JVM参数
    • 3. jstat_统计内存和GC信息(Java Virtual Machine statistics monitoring tool)
    • 4. jmap_查看和转储堆快照(Java Memory Map)
    • 5. jstack_生成线程快照
  • 2. 图形化监控工具
    • 2.1 jconsole_图形化的分析工具
    • 2.2 jvisualvm_强大的图形化分析工具,推荐
    • 第三方监控工具

1. jps_查看JVM进程ID(Java Virtual Machine Process Status Tool)

jps可以查看当前系统正在运行的java虚拟机进程、主类。其他命令基本都要依赖此命令来确定要监控哪一个虚拟机进程。在一个项目中有多个JVM运行时,比windows自带的任务管理器里查看方便点,当然可以结合起来使用。
       jps -l查看jvm进程和主类。-v可以查看虚拟机启动时显示指定的jvm参数。
       jps参考文章

2. jinfo_查看和调整JVM参数

jinfo 可以实时查看正在运行的 java 应用程序的系统属性,JVM参数和命令行参数:

也可以动态的修改JVM参数,下图是设置OOM时导出快照文件的路径:

jinfo参考文章

3. jstat_统计内存和GC信息(Java Virtual Machine statistics monitoring tool)

Jstat可以用来监控本地或远程虚拟机各种运行状态的命令行工具,包括了对类装载、内存、垃圾收集、jit编译的监控。是在没有GUI界面的服务器定位虚拟机entity的常用工具。


jstat参考文章
jstat参考文章

4. jmap_查看和转储堆快照(Java Memory Map)

可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等。可以使用jmap生成Heap Dump,也可以使用kill -3“恐吓”下虚拟机来获取堆快照
jmap -dump:format=b,file=d:\dump1215.bin 8804导出快照文件到d:\dump1215.bin

jmap参考文章
jmap参考文章

jhat_解析堆转储文件(JVM Heap Analysis Tool)和jmap 命令搭配使用,可以用来分析 jmap 生成的堆转储快照。先用jmapdump出文件,然后用jhat来分析,可以通过浏览器来访问。
       但不推荐使用,因为jhat命令特别耗费CPU和内存,不会在服务器上使用,一般要把dump文件拷贝出来在自己电脑上分析,但其实既然拷贝出来了就不用这个命令行工具了,比如mat工具就比jhat好用很多。

5. jstack_生成线程快照

jstack会生成JVM当前时刻的线程快照,然后我们可以通过它查看某个Java进程内的线程堆栈信息,通常来说,当线上CPU使用率较高的时候,我们可以通过jstack查询占用CPU较高的一些线程的使用情况,比如发生了死锁,线程阻塞等相关操作。一般情况下,jstack会配合其他命令一块进行操作,比如top,ps等命令。
jstack参考文章

2. 图形化监控工具

2.1 jconsole_图形化的分析工具

它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗。推荐使用jvisualvm
jconsole参考文章

2.2 jvisualvm_强大的图形化分析工具,推荐

jvisualvm是一个综合性的分析工具,可以认为其整合了jstack、jmap、jinfo等众多调试工具的功能,并以图形界面展示。可以认为jvisualvm是jconsole的升级版。并且jvisualvm支持插件,非常好用。
       从jdk 9开始, visualVM不再集成在JDK中, 需要单独下载安装。下载地址: https://visualvm.github.io/download.html。下载之后,解压到JDK目录下,层级对应覆盖即可。另外idea本身有jvisualvm的插件,可以使用。
jvisualvm参考文章

第三方监控工具

对jvm监控的常见可视化工具,除了jdk本身提供的Jconsole和visualVm以外,还有第三方提供的jprofilter,perfino,Yourkit,Perf4j,JProbe,MAT等。这些工具都极大的丰富了我们定位以及优化jvm方式。
       这些工具的使用,网上有很多教程提供。对于VisualVm来说,比较推荐使用,它除了对jvm的侵入性比较低以外,还是jdk团队自己开发的,相信以后功能会更加丰富和完善。jprofilter对于第三方监控工具,提供的功能和可视化最为完善,目前多数ide都支持其插件,对于上线前的调试以及性能调优可以配合使用。

还有阿里巴巴开源的java线上排查利器arthas

JVM监控工具有哪些相关推荐

  1. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta (Linux 如何查看进程的各线程的CPU占用 )

    http://dolphin-ygj.iteye.com/blog/366216 JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta 博客分类: 调优 ...

  2. 常见的几款JVM监控工具

    本文来说下常见的几款JVM监控工具 文章目录 概述 jps:查看正在运行的Java进程 jstack:打印线程快照 jmap:导出堆内存映像文件 jstat:查看jvm统计信息 jinfo:实时查看和 ...

  3. 一款轻量的JVM监控工具——Jvmm

    目录 关于Jvmm 功能支持 下载地址 快速上手 监控功能 查看操作系统基础信息 查看操作系统CPU负载.内存使用情况.磁盘占用情况 查看类加载统计 查看类加载器实例信息 查看编译统计信息 查看垃圾收 ...

  4. Java线程及Jvm监控工具

    "昨天晚上很冷让我遇见你,你站在德克士门口等你男朋友, 我站在你对面街上看了你那么久, 你男朋友为何要对你发火,你俩走了好几条街为何他不把你的手放进他的衣兜里, 为什么你男朋友要走在前面,为 ...

  5. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat

    http://my.oschina.net/timer/blog/10599 jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和 ...

  6. java调优方法,jvm监控工具

    graph LR A-->B 性能概述 程序性能表现形式 执行速度:程序响应速度,总耗时是否足够短 内存分配:内存分配是否合理,是否过多消耗内存或者存在泄漏 启动时间:程序运行到可以正常处理业务 ...

  7. java虚拟机内存监控_深入理解JVM虚拟机9:JVM监控工具与诊断实践

    本文转自: https://juejin.im/post/59e6c1f26fb9a0451c397a8c 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...

  8. (转)JVM监控工具介绍

    2008年03月04日 16:57 原作者: stone2083 原文地址:http://www.blogjava.net/stone2083/archive/2008/02/25/182081.ht ...

  9. Java自带 JVM监控工具

    Jdk自带工具之监控工具 Jdk工具所在默认路径 常用工具 jps jps -l 输出完整的包名称 jps -m 输出所有预加载包和启动类名 jps -v 输出启动类名和 JVM参数 jstack 输 ...

最新文章

  1. 几种支持REST的Java框架
  2. 移动端python开发_python前端之移动端库、框架及自动化和优化
  3. 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...
  4. 使用Servlet和Bootstrap上传Ajax文件
  5. mysql 1055 解决方案_MySQL报错1055解决方案 - 树懒学堂
  6. 猎头职位:存储翘首EMC高薪诚聘高级软件工程师SH
  7. 7-95 倒数第N个字符串 (15 分)
  8. 数字图像处理 频率域锐化 MATLAB实验
  9. 数据结构与算法学习笔记01-数组
  10. redis 缓存预热_Redis常见问题总结
  11. EasyUI的databox取值
  12. web安全day22:linux系统最基本知识最常用操作和命令
  13. 清华大学发布OpenNE:用于网络嵌入的开源工具包
  14. qq微信趣味测试小程序源码
  15. 学生图书管理系统(附源代码及数据库)
  16. javascript原生移动云编程1 - 十分钟做出跨平台原生App
  17. 计算机二级请假条,单位员工病假请假条范文模板
  18. “抖快”拯救不了服装业,起死回生仍需依靠数字化
  19. 血污夜之仪式秘密巫师实验室收集策略
  20. 【苹果群发】苹果推iMessage接口筛选应用程序利用密钥箱生成CSR文书

热门文章

  1. 手机 跑linux,你可曾想过在iOS上跑Linux?
  2. 我的世界服务器刷怪笼怎么修改,我的世界改造刷怪笼的方法,有三种方法介绍...
  3. 宁波大学2013 计算机应用基础 高级c语言程序 练习册答案,2020年宁波大学计算机应用技术考研真题试卷及试题答案,计算机系统基础考研试题下载...
  4. java project 部署_关于Java Project项目在Linux下部署步骤及注意事项
  5. Tag recommendaion... 论文中的小例子,使用HOSVD算法推荐
  6. React  学习第一天-2018-07-21
  7. 最新综述:作为体现具体化自然语言环境的文本世界
  8. TCSVT | 横看成岭侧成峰:交叉视角地理定位
  9. 搞科研、学术的朋友注意了,停下手头的活,再忙也要看一下这个!
  10. 智源-知乎联合发布大规模用户关系数据集,同步开启10万元竞赛