码迷,mamicode.com
首页 > 其他好文 > 详细

jvm性能分析工具使用

时间:2019-12-30 11:54:42      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:top   nbsp   c++   执行   http   相同   内存   格式   使用说明   

jvm性能分析

一、JPS:列出本机所有java进程的pid

  命令选项

  • -q 仅输出VM标识符,不包括class name,jar name,arguments in main method
  • -m 输出main method的参数
  • -l 输出完全的包名,应用主类名,jar的完全路径名
  • -v 输出jvm参数
  • -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
  • -Joption 传递参数到vm,例如:-J-Xms48m

二、jmap:性能调优工具

  jmap -help 查看命令使用说明

  如图,命令格式:jmap [option] <pid>

  参数:

  • option: 选项参数。
  • pid: 需要打印配置信息的进程ID。
  • executable: 产生核心dump的Java可执行文件。
  • core: 需要打印配置信息的核心文件。
  • server-id 可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。
  • remote server IP or hostname 远程调试服务器的IP地址或主机名。

  option参数:

  • no option: 查看进程的内存映像信息,类似 Solaris pmap 命令。
  • heap: 显示Java堆详细信息
  • histo[:live]: 显示堆中对象的统计信息
  • clstats:打印类加载器信息
  • finalizerinfo: 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象
  • dump:<dump-options>:生成堆转储快照
  • F: 当-dump没有响应时,使用-dump或者-histo参数. 在这个模式下,live子参数无效.
  • help:打印帮助信息
  • J<flag>:指定传递给运行jmap的JVM的参数

技术图片 

 

 

 

 

 

 

 

 

 

 

三、jstack:查看某个Java进程内的线程堆栈信息

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

jstack [option] pid

参数如下:

  1. -l long listings,会打印出额外的锁信息,在发生死锁时可以用jstack -l pid来观察锁持有情况
  2. -m mixed mode,不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)

 

技术图片

 

 

四、jstat:JVM统计监测工具

每隔1000ms打印一次记录,打印10次停止,每3行后打印指标头部

 jstat -gc -h3 10 1000 10

技术图片

 

 

五、hprof:展现CPU使用率,统计堆内存使用情况

 

六、Top:打印进程使用资源

jvm性能分析工具使用

标签:top   nbsp   c++   执行   http   相同   内存   格式   使用说明   

原文地址:https://www.cnblogs.com/akid1994/p/12118601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!