zoukankan      html  css  js  c++  java
  • JVM调优之监控工具

      • javac -verbose 类名.java
      • java -verbose 类名
      • javap -c 类名
      • javap -verbose 类名

      JAVAP -HELP

      用法: javap

      其中, 可能的选项包括:

      -help –help -? 输出此用法消息

      -version 版本信息

      -v -verbose 输出附加信息

      -l 输出行号和本地变量表

      -public 仅显示公共类和成员

      -protected 显示受保护的/公共类和成员

      -package 显示程序包/受保护的/公共类

      和成员 (默认)

      -p -private 显示所有类和成员

      -c 对代码进行反汇编

      -s 输出内部类型签名

      -sysinfo 显示正在处理的类的

      系统信息 (路径, 大小, 日期, MD5 散列)

      -constants 显示最终常量

      -classpath 指定查找用户类文件的位置

      -cp 指定查找用户类文件的位置

      -bootclasspath 覆盖引导类文件的位置


      JAVAC -HELP

      用法: javac

      其中, 可能的选项包括:

      -g 生成所有调试信息

      -g:none 不生成任何调试信息

      -g:{lines,vars,source} 只生成某些调试信息

      -nowarn 不生成任何警告

      -verbose 输出有关编译器正在执行的操作的消息

      -deprecation 输出使用已过时的 API 的源位置

      -classpath <路径> 指定查找用户类文件和注释处理程序的位置

      -cp <路径> 指定查找用户类文件和注释处理程序的位置

      -sourcepath <路径> 指定查找输入源文件的位置

      -bootclasspath <路径> 覆盖引导类文件的位置

      -extdirs <目录> 覆盖所安装扩展的位置

      -endorseddirs <目录> 覆盖签名的标准路径的位置

      -proc:{none,only} 控制是否执行注释处理和/或编译。

      -processor [,,…] 要运行的注释处理程序的名称; 绕过默认的搜索进程

      -processorpath <路径> 指定查找注释处理程序的位置

      -parameters 生成元数据以用于方法参数的反射

      -d <目录> 指定放置生成的类文件的位置

      -s <目录> 指定放置生成的源文件的位置

      -h <目录> 指定放置生成的本机标头文件的位置

      -implicit:{none,class} 指定是否为隐式引用文件生成类文件

      -encoding <编码> 指定源文件使用的字符编码

      -source <发行版> 提供与指定发行版的源兼容性

      -target <发行版> 生成特定 VM 版本的类文件

      -profile <配置文件> 请确保使用的 API 在指定的配置文件中可用

      -version 版本信息

      -help 输出标准选项的提要

      -A关键字[=值] 传递给注释处理程序的选项

      -X 输出非标准选项的提要

      -J<标记> 直接将 <标记> 传递给运行时系统

      -Werror 出现警告时终止编译

      @<文件名> 从文件读取选项和文件名


      jps

      用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。

      使用jps时,如果没有指定hostid,它只会显示本地环境中所有的Java进程;如果指定了hostid,它就会显示指定hostid上面的java进程,不过这需要远程服务上开启了jstatd服务。

      JPS -HELP

      usage: jps [-help]

      jps [-q] [-mlvV] [<hostid>]

      Definitions:

      <hostid>: <hostname>[:<port>]

      -q:忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid。

      -m:输出传递给main方法的参数,如果是内嵌的JVM则输出为null。

      -l:输出完全的包名,应用主类名,jar的完全路径名

      -v:输出传给jvm的参数

      -V:输出通过标记的文件传递给JVM的参数(.hotspotrc文件,或者是通过参数-XX:Flags=指定的文件)。

      -J 用于传递jvm选项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J选项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。


      jstack

      jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项”-J-d64”,Windows的jstack使用方式只支持以下的这种方式:

      jstack [-l] pid

      如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

      JSTACK -HELP

      Usage:

      jstack [-l] <pid>
      (to connect to running process)
      jstack -F [-m] [-l] <pid>
      (to connect to a hung process)
      jstack [-m] [-l] <executable> <core>
      (to connect to a core file)
      jstack [-m] [-l] [server_id@]<remote server IP or hostname>
      (to connect to a remote debug server)

      Options:

      -F to force a thread dump. Use when jstack <pid> does not respond (process is hung)(当’jstack [-l] pid’没有相应的时候强制打印栈信息)
      -m to print both java and native frames (mixed mode)(打印java和native c/c++框架的所有栈信息.)
      -l long listing. Prints additional information about locks (长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.)
      -h or -help to print this help message (打印帮助信息)

      jstat

      Jstat 用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控:

      • 类的加载及卸载情况
      • 查看新生代、老生代及持久代的容量及使用情况
      • 查看新生代、老生代及持久代的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的时间
      • 查看新生代中Eden区及Survior区中容量及分配情况等

      jstat -help

      Usage:

      jstat -help|-options
      jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

      Definitions:

      >

      Virtual Machine Identifier. A vmid takes

      the following form:

      [@[:]]

      Where is the local vm identifier for the target

      Java virtual machine, typically a process id; is

      the name of the host running the target Java virtual machine;

      and is the port number for the rmiregistry on the

      target host. See the jvmstat documentation for a more complete

      description of the Virtual Machine Identifier.

      Number of samples between header lines.

      Sampling interval. The following forms are allowed:

      [“ms”|”s”]

      Where is an integer and the suffix specifies the units as

      milliseconds(“ms”) or seconds(“s”). The default units are “ms”.

      Number of samples to take before terminating.

      -J Pass directly to the runtime system.


        吾之爱,心之念。
               携子手,到白头。

  • 相关阅读:
    nmap 快速扫描所有端口
    cdh ntpdate 问题
    看22是不是被玻璃破解
    lucas定理
    HDU1398--Square Coins(母函数)
    【转】HDU1028
    【转】母函数(Generating function)详解 — TankyWoo(红色字体为批注)
    HDU--1085--Holding Bin-Laden Captive!(母函数)
    HDU2588--GCD(欧拉函数)
    【转】扩展欧几里德
  • 原文地址:https://www.cnblogs.com/JC-0527/p/9632733.html
Copyright © 2011-2022 走看看