分类: JVM 2010-10-04 11:05 587人阅读 评论(0) 收藏 举报
工具jdkjava远程连接unixstring

常用有五个命令行工具:
jinfo: 可以输出并修改运行时的java 进程的opts 。
jps: 与unix 上的ps 类似,用来显示本地的java 进程,可以查看本地运行着几个java 程序,并显示他们的进程号。
jstat: 一个极强的监视VM 内存工具。可以用来监视VM 内存内的各种堆和非堆的大小及其内存使用量。
jmap: 打印出某个java 进程(使用pid )内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
jconsole: 一个java GUI 监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM 。

接下来是对这些工具的详细介绍:

从最简单的jstat 工具开始:我想很多人都是用过unix 系统里的ps 命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其id 。 jps 也是一样,它的作用是显示当前系统的java 进程情况,及其id 号。我们可以通过它来查看我们到底启动了几个java 进程(因为每一个java 程序都会独 占一个java 虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt 来查看这些进程的详细启动参数。
使用方法:在当前命令行下打 jps( 需要JAVA_HOME ,没有的话,到改程序的目录下打)

接下来是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 -gcutil pid: 统计gc 信息统计。
jstat -gccause pid:统计gc信息,并显示最后一次引发gc的事件。

jstat -printcompilation pid: 当前VM 执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6 是每250 毫秒打印一次,一共打印6 次,还可以加上-h3 每三行显示一下标题。

jmap 是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap ,以二进制输出成文本。使用方法 jmap -histo pid 。如果连用SHELL jmap -histo pid>a.log 可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC 回收了哪些对象。jmap -dump:format=b,file=String 3024 可以将3024 进程的内存heap 输出出来到String 文件里。

jinfo: 的用处比较简单,就是能输出并修改运行时的java 进程的运行参数。用法是jinfo -opt   pid 如:查看2788 的MaxPerm 大小可以用   jinfo -flag MaxPermSize 2788 。

jconsole 是一个用java 写的GUI 程序,用来监控VM ,并可监控远程的VM ,非常易用,而且功能非常强。由于是GUI 程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。
使用方法:命令行里打 jconsole ,选则进程就可以了。

以下是这些工具的SUN 官方说明:
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

转载于:https://www.cnblogs.com/zhengah/p/4826506.html

JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole相关推荐

  1. JVM 调优实战--常用JVM命令:jps/jinfo/jstat/jmap/jstack/jhat

    jps:查看jvm进程: jinfo:查看完整jvm参数信息: jstat:查看堆内存使用情况,加载的class数量及大小.-gc查看垃圾回收统计: jmap:查看堆内存使用情况,jstat是统计,j ...

  2. JVM分析指令解析-jps/jinfo/jstat/jstack/jmap/jcmd

    本文主要解析JVM分析指令-jps/jinfo/jstat/jstack/jmap jps 英文全名: Java Virtual Machine Process Status Tool 功能: Jav ...

  3. jdk自带监控工具整理-jstat

        性能测试过程中,我们该如何监控java虚拟机内存的使用情况,用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的 ...

  4. java jps监控_记录java虚拟机性能监控工具(jps与jstat)的使用

    (1) jps(Java Virtual Machine Process Status) 虚拟机进程状况工具; 1.1 显示运行的Java应该程序的进程ID jps -q #86589 #77567 ...

  5. JDK自带JVM工具

    1 jdk 自带工具之jstat--虚拟机进程状况工具 使用方式 Usage: jstat -help|-optionsjstat -<option> [-t] [-h<lines& ...

  6. Java 性能分析工具一览(JDK自带)

    Jdk自带的监控程序 1. jstat 分析JVM HEAP占用情况 2. jps 查看JVM 进程 3. jmap 分析内存对象占用情况 4. jstack 查看JVM 调用堆栈情况 5. hppr ...

  7. JDK自带VM分析工具jps,jstat,jmap,jconsole

    一.概述 SUN 的JDK中的几个工具,非常好用.秉承着有免费,不用商用的原则.以下简单介绍一下这几种工具.(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装 ...

  8. jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)

    2019独角兽企业重金招聘Python工程师标准>>> 文章同步发布于github博客地址,阅读效果更佳,欢迎品尝 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我 ...

  9. java 虚拟机(jvm)-06-JVM jdk 自带工具 jstack jconsole jvisualvm jmap jinfo

    jdk 自带工具 在 java 安装目录 bin 下. 你可以看到对应的信息,这里有很多 java 为我们提供的工具. $ ls appletviewer.exe* java-rmi.exe* jav ...

最新文章

  1. Intellij IDEA 创建Web项目并在Tomcat中部署运行
  2. 查询SDE数据库,GSON报错:declares mutiple JSON fields named data
  3. Happy Number 十进制转特殊三进制
  4. 神策数据《2022 中国企业数字化运营成熟度报告》发布
  5. .NET Core开发实战(第17课:为选项数据添加验证:避免错误配置的应用接收用户流量)--学习笔记...
  6. java string su_JAVA基础--常用类String
  7. Spring 定时器结合线程池
  8. aws终止实例后还收费吗_「技术选型」AWS 和 AZURE的全面比较
  9. 2017.8.11 think list
  10. 展讯8541E:NFC PM1810驱动调试
  11. 反射机制,类的加载机制,和注解的配置参数的结合使用详解
  12. 一步步用python制作游戏外挂
  13. 如何查看本机的内网IP
  14. 电脑如何进入【安全模式】——杀毒访问清理文件很方便
  15. 计算机证英语四六级证驾驶证,学校毕业要求有两个技能证书,计算机二级,四六级,到底算不算技能证?...
  16. 智过网:2023年注册测绘师考试执业范围
  17. 鼓包精灵2代的清灰与电池问题处理
  18. tl494组成的超声波发射电路_采用TL494构成的电动车充电电路原理分析
  19. 三行代码按键消抖 独立按键 矩阵按键 长按 短按 双击
  20. SQLite FTS3 和 FTS4 插件

热门文章

  1. 自定义ViewGroup 实现拖动跟快速滚动的效果
  2. exc读入到matlab,matlab外部程序接口-excel
  3. MySQL服务端的登录和退出
  4. Gateway网关-过滤器链执行顺序
  5. Nginx反向代理之proxy_pass指令
  6. RabbitMQ各个名词介绍
  7. 分布式认证方案-基于session的认证方式
  8. 数据库压力变大,读写分离吧
  9. 收货地址 - 删除收货地址
  10. 反射获取成员方法并使用【应用】