jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解

Elvis_lfc Elvis_lfc     2022-12-03     295

关键词:

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。

    现实企业级Java开发中,有时候我们会碰到下面这些问题:

  • OutOfMemoryError,内存不足

  • 内存泄露

  • 线程死锁

  • 锁争用(Lock Contention)

  • Java进程消耗CPU过高

  • ......

    这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求。本文将对一些常用的JVM性能调优监控工具进行介绍,希望能起抛砖引玉之用。本文参考了网上很多资料,难以一一列举,在此对这些资料的作者表示感谢!关于JVM性能调优相关的资料,请参考文末。

 

A、 jps(Java Virtual Machine Process Status Tool)      

    jps主要用来输出JVM中运行的进程状态信息。语法格式如下:

1 <code class= "hljs css" ><span class= "hljs-selector-tag" >jps <span class= "hljs-selector-attr" >[options] <span class= "hljs-selector-attr" >[hostid]< /span >< /span >< /span >< /code >

    如果不指定hostid就默认为当前主机或服务器。

    命令行参数选项说明如下:

1 2 3 4 <code class= "hljs haml" >-<span class= "ruby" >q 不输出类名、Jar名和传入main方法的参数 -<span class= "ruby" >m 输出传入main方法的参数 -<span class= "ruby" >l 输出main类或Jar的全限名 -<span class= "ruby" > v  输出传入JVM的参数< /span >< /span >< /span >< /span >< /code >

   比如下面:

1 2 3 4 5 6 7 8 <code class= "hljs less" >root<span class= "hljs-variable" >@ubuntu:/ # jps -m -l <span class= "hljs-number" >2458 org.artifactory.standalone.main.Main  /usr/local/artifactory- <span class= "hljs-number" >2.2.<span class= "hljs-number" >5 /etc/jetty .xml <span class= "hljs-number" >29920 com.sun.tools.hat.Main -port <span class= "hljs-number" >9998  /tmp/dump .dat <span class= "hljs-number" >3149 org.apache.catalina.startup.Bootstrap start <span class= "hljs-number" >30972 sun.tools.jps.Jps -m -l <span class= "hljs-number" >8247 org.apache.catalina.startup.Bootstrap start <span class= "hljs-number" >25687 com.sun.tools.hat.Main -port <span class= "hljs-number" >9999 dump.dat <span class= "hljs-number" >21711 mrf-center.jar< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /code >

 

B、 jstack

    jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式如下:

1 2 3 <code class= "hljs css" ><span class= "hljs-selector-tag" >jstack <span class= "hljs-selector-attr" >[option] <span class= "hljs-selector-tag" >pid <span class= "hljs-selector-tag" >jstack <span class= "hljs-selector-attr" >[option] <span class= "hljs-selector-tag" >executable <span class= "hljs-selector-tag" >core <span class= "hljs-selector-tag" >jstack <span class= "hljs-selector-attr" >[option] <span class= "hljs-selector-attr" >[server- id @]<span class= "hljs-selector-tag" >remote- hostname -or-ip< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span >< /span

jvm性能调优监控工具jpsjstackjmapjhatjstat使用详解(转viii)

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。  现实企业... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解... 查看详情

jvm性能调优监控工具jpsjmapjstackjstat使用详解(代码片段)

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解

    现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)Java进程消耗CPU过高......   这些问题在日常开发中可能被很多人忽视(比如有... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解

现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)Java进程消耗CPU过高......  这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只... 查看详情

jvm调优日志解析分析与性能监控工具(代码片段)

一、调优参数设置JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC输出GC日志-XX:+PrintGCDetails输出GC的详细日志-XX:+PrintGCTimeStamps输出GC的时间戳(以基准时间的形式)-XX:+PrintGCDateStamps输出GC的时间戳(以日期的形式,如 2013-05-04T... 查看详情

jvm性能调优监控工具专题一:jvm自带性能调优工具

前提概要:      JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点,用户可以根据你需要检... 查看详情

jvm中常用的性能监控和调优工具介绍与使用(代码片段)

目录1、引言2、性能监控工具概述3、使用方式及应用3.1jps:虚拟机进程状况工具3.1.1语法格式3.1.2用例 3.2 jstat:虚拟机统计信息监控工具3.2.1语法格式3.2.2用例3.2.3  jstat的局限性3.3jinfo:显示虚拟机配置信息3.3.1语法格式3.3.2用例3.4jm... 查看详情

jvm性能调优监控工具jvisualvm.exe(代码片段)

一、问题现状现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)Java进程消耗CPU过高…二、hprof文件的生成在运行时候添加JVM参数:-XX:&... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解... 查看详情

jvm性能调优

  JVM技术图谱 性能调优性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统调优等。架构调优和代码调优是JVM调优的基础,其中架构调优是对系统影响最大的。性能调优基本上按照以... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstatjinfojconsole使用详解(代码片段)

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。  ... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解(代码片段)

点击上方关注“终端研发部”设为“星标”,和你一起掌握更多数据库知识转自:ITeye博客,作者:Josh_Persistencewww.iteye.com/blog/josh-persistence-2161848现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解(代码片段)

点击上方关注“终端研发部”设为“星标”,和你一起掌握更多数据库知识转自:ITeye博客,作者:Josh_Persistencewww.iteye.com/blog/josh-persistence-2161848现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问... 查看详情

jvm性能监控与gc调优(代码片段)

目录一提出问题二基于JDK命令行工具的监控1.JVM的三种参数类型1.1标准参数1.2X参数1.3XX参数1.4常用命令2.jstat查看虚拟机统计信息2.1类加载信息2.2垃圾回收信息2.3JIT编译信息3.jmap+MAT分析内存溢出[实战]3.1模拟内存溢出3.2导出内存影... 查看详情

jvm的监控命令

...sp;几个命令的使用就可以了 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具... 查看详情

jvm性能调优监控工具jpsjstackjmapjhatjstathprof使用详解(代码片段)

...题是Java程序员进阶的必备要求。本文将对一些常用的JVM性能调优监控工具进行介绍,希望能起抛砖引玉之用。 一、jps(JavaVirtualMachineProcessStatusTool)   :基础工具   jps主要用来输出JVM中运行的进程状态信... 查看详情

jvm虚拟机性能监控与调优(jdk命令行jconsole)(代码片段)

很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压... 查看详情