- 浏览: 837138 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (149)
- ubuntu (27)
- spring (3)
- hibernate (6)
- struts (1)
- jquery (11)
- ext (2)
- ajax (1)
- java (24)
- 设计 (4)
- db (10)
- web (10)
- 软件应用技巧 (6)
- others (2)
- 设计模式 (1)
- subversion (5)
- javascript (2)
- jpa (1)
- windows (6)
- jboss (1)
- junit (2)
- WebSphere (2)
- log4j (2)
- 新闻和感想 (0)
- ldap (3)
- tomcat (6)
- excel (1)
- PDF (1)
- xml (1)
- json (2)
- 正则表达式 (3)
最新评论
-
sunshine_love:
谢啦
svn:ignore 的用处 -
亮0000仔:
非常好。。
JAVA中浮点数的存储 -
u011840397:
你好,备份和还原到指定的目录的参数如何加呢?
svn备份和还原 -
zhglhy:
简单明了,学习了,感谢分享!
Jboss数据源密码加密 -
wmengmeng66:
写的很好,顶
spring中配置proxool数据源
转自:http://jiajun.iteye.com/blog/443196
一、概述
SUN 的JDK中的几个工具,非常好用。秉承着有免费,不用商用的原则。以下简单介绍一下这几种工具。(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装) 。
我一共找到以下四个工具:重点看看jconsole和jmap。
jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jstat
:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap
:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
jconsole
:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
二、 使用介绍:
1、jstat
:我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps
也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独
占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。
可惜没有linux下的ps好用,名称不好用。但是在第四个工具jconsole的界面里面会有具体JAR包的名称。
2、jstat
:对VM内存使用量进行监控。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat -class pid:显示加载class的数量,及所占空间等信息。
jstat -compiler pid:显示VM实时编译的数量等信息。
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat
-gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使
用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推,
OC是old内纯的占用量。
jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity pid:new对象的信息及其占用量。
jstat -gcold pid:old对象的信息。
jstat -gcoldcapacity pid:old对象的信息及其占用量。
jstat -gcpermcapacity pid: perm对象的信息及其占用量。
jstat -util pid:统计gc信息统计。
jstat -printcompilation pid:当前VM执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
3、jmap
是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用
SHELL jmap -histo
pid>a.log可以将其保存到文本中去(windows下也可以使用),在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。
jmap -dump:format=b,file=f1 3024可以将3024进程的内存heap输出出来到f1文件里。
4、jconsole
是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。
使用方法:命令行里打 jconsole,选则进程就可以了。
友好提示:windows查看进程号,由于任务管理器默认的情况下是不显示进程id号的,所以可以通过如下方法加上。ctrl+alt+del打开任务管
理器,选择‘进程’选项卡,点‘查看’->''选择列''->加上''PID'',就可以了。当然还有其他很好的选项。
三、参考资料:
article:http://elf8848.iteye.com/blog/442806
jps:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html
jstat:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
jmap:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html
jconsole:http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html
发表评论
-
运算符优先级
2010-11-04 14:28 1864最近在研究表达式求值,看了下论坛推荐的JSEL和Aviator ... -
log4j日志文件保存路径的设置
2010-08-12 11:56 6731一直都是把log4j的日志文件位置设定成绝对路径,直到今天发 ... -
jsp页面突然不支持EL的问题
2010-07-12 16:11 2076转自http://www.iteye.com/topic/15 ... -
jvm监控
2010-07-08 00:49 15837一直没有做过jvm监控, 总以为要找些专门的工具才能做jvm监 ... -
JAVA从键盘读取输入信息
2010-02-28 17:58 2738import java.io.BufferedReader; ... -
JAVA UUID
2010-02-26 23:24 4444UUID(Universally Unique Identif ... -
JAVA中浮点数的运算
2010-02-24 15:30 1670问题的提出: 如果我们编译运行下面这个程序会看到什么 ... -
JAVA中控制double和float的精度
2010-02-24 15:21 7701本篇介绍了在JAVA中如何对double或者float的浮点数 ... -
JAVA的位移运算
2010-02-24 10:38 1105左移操作: x << nx可以是byte, ... -
各种排序JAVA实现
2009-12-15 17:25 1126package sort; import ... -
javabean属性命名难以为人所知的秘密
2009-07-09 10:46 3536原文:http://www.blogjav ... -
java properties文件读取乱码问题解决之道
2009-06-10 11:09 4774Poperties Editor 插件------ ... -
正则表达式参考
2009-05-21 01:40 958http://www.cnblogs.com/netshuai ... -
Apache Commons Logging 是如何决定使用哪个日志实现类的
2009-05-20 11:36 7616原文是:http://www.blogjava.net/Unm ... -
java keytool 常用命令
2009-05-05 17:10 5412最近在做ssl连接active dir ... -
java.sql.Date,java.sql.Time和java.sql.Timestamp
2009-02-07 13:12 9294java.sql.Date,java.sq ... -
理解Unsupported major.minor version 49.0为何错误
2008-09-09 11:33 2663今天一位同事在发布一个portlet到ibm portal时报 ... -
关于Java异常抛出和处理的思考
2008-07-30 17:38 8001看过不少关于java异常处 ... -
反射私有方法
2008-07-30 10:54 1760曾经碰到一件怪事:Spring可以把构造函数为私有的对象实例也 ... -
jdk5 concurrent 初学
2008-07-22 11:50 2412由于上次发现了ReentrantLock,同步的另外一种实现, ...
相关推荐
本文将详细介绍 JDK 自带的几个核心 VM 分析工具:jps、jstat、jmap 和 jconsole,并探讨它们各自的功能及应用场景。 #### jps - 查看运行中的 Java 进程 **jps** 类似于 Unix/Linux 系统中的 `ps` 命令,用于列出...
本文将介绍五种JVM监控工具:jstack、jconsole、jinfo、jmap和jdb。 jstack jstack是一款命令行工具,用于生成Java应用程序的崩溃dump文件的信息。该工具可以attach到正在运行的Java应用程序中,查看当前运行的...
本篇将详细介绍JDK自带的几个主要调试工具,包括`jmap`、`jstack`、`jconsole`,以及相关的文档资源。 1. `jmap`:这是一个用于诊断堆内存状况的工具。通过`jmap`,我们可以获取到堆内存的详细映射,包括对象分配...
本文将深入探讨六种关键的JVM监控工具——`jstack`, `jconsole`, `jinfo`, `jmap`, `jdb`, `jstat`——它们各自的功能、应用场景及如何帮助开发者和运维人员诊断并解决JVM中的复杂问题。 #### 1. jstack —— Java ...
- **使用场景**:当怀疑应用程序存在内存泄漏时,使用 jmap 生成 heap dump 文件,进一步通过其他工具(如 MAT 或 VisualVM)进行分析。 - **命令格式**:`jmap [options] <pid>` 或 `jmap [options] core` ##### 5...
--slave /usr/bin/jconsole jconsole /opt/jdk1.6.0_11/bin/jconsole --slave /usr/bin/jdb jdb /opt/jdk1.6.0_11/bin/jdb --slave /usr/bin/jhat jhat /opt/jdk1.6.0_11/bin/jhat --slave /usr/bin/jinfo jinfo...
为了有效地监控和调试Java应用程序,Oracle JDK提供了多种强大的命令行工具,如jconsole、jmap、jstat等。下面将详细解释这些工具的功能和使用场景。 1. **jstack**: jstack是一种用于生成Java线程堆栈跟踪的工具...
它包含的工具如jps、jstat、jmap、jinfo、jstack和JConsole,都是JDK的标准组成部分,帮助开发者深入理解JVM的内存状态。 1. **jps (Java Virtual Machine Process Status Tool)** 类似于Unix系统中的`ps`命令,...
9. **其他实用工具**:如appletviewer、extcheck、idlj、jar、jarsigner、jarsigner.bat、java-rmi.cgi、jconsole、jdb、jhat、jinfo、jnlp、jmap、jmc、jps、jrunscript、jsadebugd、jstack、jstat、jstatd、...
- **jhat**: 堆转储分析工具,可在线或离线分析。 - **jinfo**: 提供配置信息的命令行工具。 - **jps**: 显示Java进程状态。 - **jstack**: 生成线程堆栈跟踪的命令行工具。 - **jstat**: 监控JVM的各种性能数据。 ...
JDK自带的监控和分析工具包括但不限于以下几种: 1. jstatd:是一个监控服务,它在目标机器上创建一个RMI(远程方法调用)注册表,并使用这个注册表来监听JVM进程的创建和终止。其他工具如jvisualvm可通过它来远程...
- **jmap**和**jhat**:内存分析工具,用于分析堆内存和生成堆转储文件。 - **jps**、**jinfo**、**jstat**和**jstack**:系统监控和诊断工具,提供进程状态、配置信息、统计信息和线程堆栈跟踪。 **总结** JDK V...
JDK的`jps`、`jstat`、`jmap`、`jhat`等工具是Java性能监控和诊断的利器。例如,`jps`可以列出正在运行的Java进程,`jstat`可以收集JVM的统计信息,而`jhat`则用于分析堆转储文件,这些都是优化Java应用程序性能的...
jvisualvm是另一个功能强大的Java应用性能分析工具,集成了多种JDK工具的功能,如jconsole、jstack、jmap等,提供了一个统一的可视化界面。 了解并熟练运用这些JVM工具,可以帮助开发者和运维人员更好地理解Tomcat...
1. **JVM内置工具**:Java虚拟机(JVM)提供了多种内置的诊断工具,如`jps`(Java进程状态工具)、`jstat`(Java统计监视工具)、`jinfo`(配置信息工具)、`jmap`(映射工具)、`jhat`(堆分析工具)和`jstack`...
10. **jps**,**jstat**,**jinfo**,**jmap**,**jhat**等:这些是用于系统监控和故障排查的命令行工具。 JDK 8的亮点特性包括: 1. **Lambda表达式**:引入函数式编程概念,使得代码更加简洁和高效。 2. **方法...
7. **其他工具**:如appletviewer、apt、extcheck、idlj、jarsigner、jconsole、jdb、jdwp、jhat、jinfo、jmap、jmc、jps、jrunscript、jstack、jstat、jstatd等,它们提供了各种附加功能,如性能监控、内存分析等。...
`jhat` 是一个内存分析工具,它可以分析由`jmap` 生成的堆转储文件,并提供一个基于HTTP的界面来浏览分析结果。但这通常用于研究目的,而非生产环境: ```bash jhat heap_dump.hprof ``` ### 9. `jconsole` 和 `...
JDK 5.0引入的新工具极大地简化了Java应用程序的调试过程,尤其是jps和jstat这两个工具,在日常开发中极为实用。通过这些工具,开发者可以更轻松地诊断问题、优化性能并提高应用的整体稳定性。对于从事Java开发的...
6. **性能分析工具** - `jconsole`、`jvisualvm`:这些工具可以帮助开发者监控和分析Java应用的性能,包括内存使用、CPU消耗、线程状态等。 7. **诊断工具** - `jstack`、`jmap`、`jinfo`:这些命令行工具用于调试...