zoukankan      html  css  js  c++  java
  • JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解

    Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。

    使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=outfile 3024 可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)。

    64位机上使用需要使用如下方式:

    jmap -J-d64 -heap pid

    2、命令格式

    l  jmap [ option ] pid

    l  jmap [ option ] executable core

    l  jmap [ option ] [server-id@]remote-hostname-or-IP

    3、参数说明

    1)、options: 

    l  executable :产生core dump的java可执行程序;

    l  core 将被打印信息的core dump文件;

    l  remote-hostname-or-IP 远程debug服务的主机名或ip;

    l  server-id 唯一id,假如一台主机上多个远程debug服务;

    2)、基本参数:

    Ø  -dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件. 

    $jmap–dump:live,format=b,file=aaa.bin 3772

    ---------------------------------------------------------------------------------------------------------------

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

    jps [options] [hostid]

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

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

    -q 不输出类名、Jar名和传入main方法的参数
    -m 输出传入main方法的参数
    -l 输出main类或Jar的全限名
    -v 输出传入JVM的参数

    比如下面:

    root@ubuntu:/# jps -m -l
    2458 org.artifactory.standalone.main.Main /usr/local/artifactory-2.2.5/etc/jetty.xml
    29920 com.sun.tools.hat.Main -port 9998 /tmp/dump.dat
    3149 org.apache.catalina.startup.Bootstrap start
    30972 sun.tools.jps.Jps -m -l
    8247 org.apache.catalina.startup.Bootstrap start
    25687 com.sun.tools.hat.Main -port 9999 dump.dat
    21711 mrf-center.jar
  • 相关阅读:
    3.16 使用Zookeeper对HDFS HA配置自动故障转移及测试
    4、html的body内标签之input系列
    Gym
    Gym
    Gym
    Gym
    Gym
    Big Event in HDU HDU1171 (多重背包)
    Coins POJ 1742 多重背包部分和
    HDU 1059 Dividing 多重背包
  • 原文地址:https://www.cnblogs.com/catkins/p/5961882.html
Copyright © 2011-2022 走看看