- 浏览: 496449 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
JVM 监控工具
//====================================
jps
显示当前所有java进程pid的命令
jps -l
-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
//====================================
jmap
jmap主要可以用于打印Java进程的内存映射或堆内存(Heap Dump文件)细节
jmap -histo 进程号 >1.txt //可以查看对象个数,占用堆内存大小,类名称
jmap -histo:live 6788 //输出到终端中
jmap -histo:live 6788 > d:/dump.txt //
//live,这个参数表示我们需要抓取目前在生命周期内的内存对象
6788:为进程ID
//内存使用的详细情况输出到文件
jmap -heap 进程号 >1.txt //可以查看新生代 老年代的使用情况
统计实例最多的类 前十位有哪些
jmap -histo pid | sort -n -r -k 2 | head -10
统计合计容量前十的类有哪些
jmap -histo pid | sort -n -r -k 3 | head -10
说明:
sort命令的部分参数含义解释如下
-n :使用“”纯数字”进行排序(默认是以文字类型来排序)
-r : 反向排序
-k :以那个区间(field)来进行排序的意思
64位机上使用需要使用如下方式:
jmap -J-d64 -heap pid
jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)
-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
jmap -permstat 3772
jmap -dump:[live,]format=b,file=<filename> <pid>
通过-dump选项,把java堆中的对象dump到本地文件,然后使用MAT进行分析。
如果添加了live,只会dump活跃的对象。
jmap -histo[:live] <pid>
通过histo选项,打印当前java堆中各个对象的数量、大小。
如果添加了live,只会打印活跃的对象。
jmap -heap <pid>
通过-heap选项,打印java堆的配置情况和使用情况,还有使用的GC算法。
jmap -finalizerinfo <pid>
通过-finalizerinfo选项,打印那些正在等待执行finalize方法的对象。
jmap -permstat <pid>
通过-permstat选项,打印java堆永久代的信息,包括class loader相关的信息,和interned Strings的信息。
http://www.itboth.com/d/IjMjYj/jmap(jmap 命令的实现原理解析)
//====================================
jstack
jstack是java虚拟机自带的一种堆栈跟踪工具
以轻松地知道java程序是如何崩溃和在程序何处发生问题。
jstack 查看线程具体在做什么,可看出哪些线程在长时间占用CPU,尽快定位问题和解决问题
在64位机器上,需要指定选项"-J-d64"
jstack [-l] pid
https://www.cnblogs.com/kongzhongqijing/articles/3630264.html
//====================================
JConsole
可以查看内存,线程数,CPU,Mbean,但那个类的实例个数和占用内存情况没有
JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行,
//====================================
jstat
jstat:用于输出java程序内存使用情况,包括新生代、老年代、元数据区容量、垃圾回收情况。
jstat -gcutil pid time
//====================================
MAT(与jhat类似但比jhat功能丰富些)
MAT(Memory Analyzer Tool)工具是eclipse的一个插件(MAT也可以单独使用),使用起来非常方便,尤其是在分析大内存的dump文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用OQL对象查询,以及可以很方便的找出对象GC Roots的相关信息,当然最吸引人的还是能够快速为开发人员生成内存泄露报表,方便定位问题和分析问题。
jmap -dump:format=b,file=d:/heapTest.bin 3676 //生成文件
//====================================
jhat
jhat(Java Head Analyse Tool)是jdk自带的用来分析java堆快照的工具
用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言
有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:
jhat -J-Xmx512m <heap dump file>
第一步:导出堆
jmap -dump:format=b,file=d:/heapTest.bin 3676
第二步:分析堆文件
jhat d:/heapTest.bin
第三步:查看html
http://localhost:7000
这里列出对象,对象实例数量、总占用内存大小
http://localhost:7000/histo/
对于jhat启动后显示的html页面中功能:
(1)显示出堆中所包含的所有的类
(2)从根集能引用到的对象
(3)显示平台包括的所有类的实例数量
(4)堆实例的分布表
(5)执行对象查询语句
//====================================
JProfiler
这个软件是商用的
//====================================
JVisualVM
在JVisualVM的插件库中,可以安装btrace插件。安装后,可以在程序运行的过程中,直接进行代码更改。
与JConsole一样打开,JConsole是JVisualVM的子集
安装Visual GC插件,可以查看GC信息
https://blog.csdn.net/kl28978113/article/details/53817827(JVisualVM简介与内存泄漏实战分析)
//====================================
jps
显示当前所有java进程pid的命令
jps -l
-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
//====================================
jmap
jmap主要可以用于打印Java进程的内存映射或堆内存(Heap Dump文件)细节
jmap -histo 进程号 >1.txt //可以查看对象个数,占用堆内存大小,类名称
jmap -histo:live 6788 //输出到终端中
jmap -histo:live 6788 > d:/dump.txt //
//live,这个参数表示我们需要抓取目前在生命周期内的内存对象
6788:为进程ID
//内存使用的详细情况输出到文件
jmap -heap 进程号 >1.txt //可以查看新生代 老年代的使用情况
统计实例最多的类 前十位有哪些
jmap -histo pid | sort -n -r -k 2 | head -10
统计合计容量前十的类有哪些
jmap -histo pid | sort -n -r -k 3 | head -10
说明:
sort命令的部分参数含义解释如下
-n :使用“”纯数字”进行排序(默认是以文字类型来排序)
-r : 反向排序
-k :以那个区间(field)来进行排序的意思
64位机上使用需要使用如下方式:
jmap -J-d64 -heap pid
jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)
-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
jmap -permstat 3772
jmap -dump:[live,]format=b,file=<filename> <pid>
通过-dump选项,把java堆中的对象dump到本地文件,然后使用MAT进行分析。
如果添加了live,只会dump活跃的对象。
jmap -histo[:live] <pid>
通过histo选项,打印当前java堆中各个对象的数量、大小。
如果添加了live,只会打印活跃的对象。
jmap -heap <pid>
通过-heap选项,打印java堆的配置情况和使用情况,还有使用的GC算法。
jmap -finalizerinfo <pid>
通过-finalizerinfo选项,打印那些正在等待执行finalize方法的对象。
jmap -permstat <pid>
通过-permstat选项,打印java堆永久代的信息,包括class loader相关的信息,和interned Strings的信息。
http://www.itboth.com/d/IjMjYj/jmap(jmap 命令的实现原理解析)
//====================================
jstack
jstack是java虚拟机自带的一种堆栈跟踪工具
以轻松地知道java程序是如何崩溃和在程序何处发生问题。
jstack 查看线程具体在做什么,可看出哪些线程在长时间占用CPU,尽快定位问题和解决问题
在64位机器上,需要指定选项"-J-d64"
jstack [-l] pid
https://www.cnblogs.com/kongzhongqijing/articles/3630264.html
//====================================
JConsole
可以查看内存,线程数,CPU,Mbean,但那个类的实例个数和占用内存情况没有
JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行,
//====================================
jstat
jstat:用于输出java程序内存使用情况,包括新生代、老年代、元数据区容量、垃圾回收情况。
jstat -gcutil pid time
//====================================
MAT(与jhat类似但比jhat功能丰富些)
MAT(Memory Analyzer Tool)工具是eclipse的一个插件(MAT也可以单独使用),使用起来非常方便,尤其是在分析大内存的dump文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用OQL对象查询,以及可以很方便的找出对象GC Roots的相关信息,当然最吸引人的还是能够快速为开发人员生成内存泄露报表,方便定位问题和分析问题。
jmap -dump:format=b,file=d:/heapTest.bin 3676 //生成文件
//====================================
jhat
jhat(Java Head Analyse Tool)是jdk自带的用来分析java堆快照的工具
用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言
有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:
jhat -J-Xmx512m <heap dump file>
第一步:导出堆
jmap -dump:format=b,file=d:/heapTest.bin 3676
第二步:分析堆文件
jhat d:/heapTest.bin
第三步:查看html
http://localhost:7000
这里列出对象,对象实例数量、总占用内存大小
http://localhost:7000/histo/
对于jhat启动后显示的html页面中功能:
(1)显示出堆中所包含的所有的类
(2)从根集能引用到的对象
(3)显示平台包括的所有类的实例数量
(4)堆实例的分布表
(5)执行对象查询语句
//====================================
JProfiler
这个软件是商用的
//====================================
JVisualVM
在JVisualVM的插件库中,可以安装btrace插件。安装后,可以在程序运行的过程中,直接进行代码更改。
与JConsole一样打开,JConsole是JVisualVM的子集
安装Visual GC插件,可以查看GC信息
https://blog.csdn.net/kl28978113/article/details/53817827(JVisualVM简介与内存泄漏实战分析)
发表评论
-
选举算法
2022-06-17 08:48 428选举算法 常用的选举 ... -
elasticSearch使用
2022-04-27 08:42 417ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 245大小写转换快捷键 ctr+shift+u IDEA ... -
每天学到的技术点3
2022-02-21 20:01 2461.TEXT与BLOB的区别,二者 ... -
zookeeper dubbo 安装
2021-12-04 19:27 315docker-machine ssh default d ... -
将博客搬至CSDN
2021-11-18 19:57 190将博客搬至CSDN -
docker mysql 主从安装
2021-11-10 16:55 235docker run -d -p 13306:3306 --n ... -
rocketmq安装部署.txt
2021-11-07 19:10 218docker search rocketmq docke ... -
JVM 调优与测试
2021-05-22 22:24 581VisualVM 能够监控线程,内存情况,查看方法的CPU ... -
百度人脸识别
2021-05-21 16:11 363package com.gaojinsoft.htwy.y20 ... -
springboot tomcat 参数配置与数据库连接池多少的性能分析
2021-05-12 22:15 560参数配置与数据库连接池多少的性能分析 tomcat线程数 ... -
springBoot tomcat配置参数说明
2021-05-12 09:13 3020#最大连接数 server.tomcat.max-connec ... -
技术选型
2021-01-29 17:34 2941.移动端组件vux,vant,vant好点,文档好的,基于v ... -
方便开发调试和问题跟踪
2021-01-01 10:17 2481.外网最好可以连接数据库 2.关键信息可以在接口返回信息, ... -
log4j2应用
2020-07-23 14:16 363https://blog.csdn.net/giventian ... -
文件上传下载
2020-07-06 13:16 4211.文件ID,名字(源,目标),大小,路径(/aa/bb/s. ... -
Jenkins脚本
2020-03-12 17:55 444#!/bin/bash -ilx echo "开始 ... -
base64与file 相互转换
2019-10-23 18:19 776base64与file 相互转换 import org. ... -
百度身份证识别
2019-10-18 18:19 673package com.gaojinsoft.htwy.y20 ... -
钉钉开发
2019-09-17 20:16 433钉钉开发 开发者帐号 1357047443 x***310* ...
相关推荐
这些JVM监控工具提供了全面的洞察力,帮助开发者调试问题、优化性能和理解应用程序的行为。熟悉并掌握它们的使用,是Java开发和运维工作中的重要技能。在实际操作中,应根据具体情况选择合适的工具,以实现高效的...
本文将详细介绍如何在Java中使用JVM监控工具,包括监控工具的选择、基本使用方法、数据分析技巧和实际应用案例。 JVM监控工具是Java开发者的重要伙伴,它们提供了对Java应用程序内部运行机制的洞察。通过本文的详细...
### JVM监控工具使用入门 #### 引言 Java虚拟机(JVM)是运行Java程序的基础环境,其性能直接影响到应用程序的稳定性和响应速度。为了更好地理解和优化JVM的运行状态,开发人员需要掌握一系列的监控工具和技术。...
JVM监控工具对于理解程序性能、定位问题和优化Java应用的效率至关重要。本篇文章将详细探讨如何利用JVM监控工具来提升Java应用的运行效率。 首先,JVM监控工具可以帮助我们实时查看和分析应用程序的运行状态。例如...
### JVM监控工具详解 在Java应用开发与维护过程中,确保应用程序稳定高效地运行至关重要。为此,JVM(Java虚拟机)提供了多种内置工具用于监控、诊断及优化Java应用程序的性能。本文将详细介绍JVM自带的一些核心...
JVM监控工具介绍 JVM监控工具是Java开发者和运维人员不可或缺的工具,通过这些工具可以监控和诊断Java应用程序的性能和资源使用情况。本文将介绍五种JVM监控工具:jstack、jconsole、jinfo、jmap和jdb。 jstack ...
以下是几种常用的JVM监控工具的详细介绍: 1. **jstack**: `jstack` 是一个用于打印Java线程堆栈跟踪的工具,它可以帮助我们了解应用程序中线程的状态,比如是否发生死锁或者线程阻塞。通过指定进程ID,我们可以...
"Java内存泄露_JVM监控工具介绍" Java内存泄露是Java开发中常见的一种问题,发生内存泄露可能会导致Java应用程序崩溃或性能下降。在Java中,内存泄露的原因非常多样,例如,静态变量、循环引用、数据库连接池、...
arthas阿里的开源jvm监控工具,可以用于JVM的调优,快速生成JVM的运行图,方便开发,具体可见阿里的git
JVM监控工具对于理解应用性能、优化内存使用、定位问题和故障排查至关重要。以下是一些关于JVM监控工具的重要知识点: 1. **JConsole**: JConsole是Java自带的一个图形化JVM监控工具,它可以显示关于Java应用程序的...
### JVM监控工具详解 在Java开发与运维领域,掌握有效的监控工具对于确保应用程序的稳定运行至关重要。本文将深入探讨六种关键的JVM监控工具——`jstack`, `jconsole`, `jinfo`, `jmap`, `jdb`, `jstat`——它们...
本篇将重点介绍几种常用的JVM监控工具,包括jstack、jconsole、jinfo、jmap以及jdb和jstat。 首先,`jstack`是一个用于打印Java线程堆栈跟踪的工具。当应用出现死锁或者线程阻塞时,jstack可以帮助我们查看各个线程...
**JVM监控工具** 1. **JConsole**:这是Java SDK自带的一个图形化监控工具,可以查看JVM的内存使用情况、线程状态、类加载情况等。 2. **VisualVM**:功能更为强大的多合一JVM分析工具,提供CPU和内存分析、线程...
VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...
总结,jvisualvm作为一款免费且功能齐全的JVM监控工具,为开发者提供了便利的性能分析环境。熟练掌握其使用,能有效提升我们的开发效率,确保Java应用程序的高效稳定运行。通过实际操作和不断实践,我们可以更好地...
JVM监控工具可提供线程快照,帮助识别和解决这些问题。 9. **类加载与卸载** 类加载器的运作机制和类的生命周期对JVM性能有一定影响,监控类的加载和卸载有助于优化应用的类加载策略。 10. **性能调优** 通过JVM...
### JVM内存监控工具详解 #### 引言 Java Virtual Machine (JVM) 是运行 Java 应用程序的核心组件,其性能直接影响应用的响应速度和稳定性。JVM 的内存管理是性能优化的关键,尤其是在高并发环境下,合理的内存...
总的来说,JConsole和VisualVM都是强大的JVM监控工具,它们提供了丰富的功能来协助开发者进行性能优化。JConsole简洁易用,适合日常的基本监控;而VisualVM则更为全面,尤其在插件的支持下,可以进行深入的性能分析...
在Java开发过程中,对JVM(Java虚拟机)的...通过熟练使用`vmmap`以及结合其他JVM监控工具,开发者可以有效地进行问题定位,优化应用性能,确保JVM健康运行。记住,理解JVM内存管理机制是提升Java应用性能的关键步骤。