关键词:
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指针的大小,引入了类指针压... 查看详情 |