`
annan211
  • 浏览: 460114 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JDK 命令行工具

 
阅读更多
  JDK 命令行工具 实现在tools.jar文件

 1 jps :jps 命令类似于Linux下的ps,但其只用于列出java的进程。
          参数 -q 指定jps只输出进程ID
         参数 -m 用于输出传递给java进程(主函数)的参数
          参数 -l 用于输出主函数的完整路径  
           参数 -v 可以显示传递给jvm的参数
       通过jps 可以方便的查看Java 进程的启动类、传入参数和jvm参数 等信息。

 2 jstat :jstat 是一个可以用于观察Java应用程序运行时信息的工具。她的功能非常 强 大,可以通过它 查看堆信息的详细情况。基本语法:

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

   选项option 可以由一下值构成:
    -class 显示classLoader 的相关信息
    -compiler 显示JIT编译的相关信息
    -GC 显示与GC相关的堆信息
    -gccapacity 显示各个代的容量以及使用情况。
    -gccause 显示垃圾手机相关的信息。
    -gcnew 显示新生代信息
    -gcnewcapacity 显示新生代大小与使用情况。
    -gcold 显示老年代和永久代的信息
    -gcoldcapacity 显示老年代的大小
    -gcpermcapacity 显示永久代的大小
    -gcutil 显示垃圾收集信息(同-gccause)
   -printcompilation 输出JIT编译的方法信息

   -t 参数可以在输出信息钱加上一个 timestamp 列 显示程序的运行时间。
   -h 参数可以在周清醒数据输出时,输出多少行数据后,跟着输出一个表头信息。
   interval 参数用于输出指定输出统计数据的周期 单位为毫秒。
   count 用于指定一共输出多少次数据。


  Fxm: jstat -class -t 2972 1000 2 
 jstat 可以非常详细的查看java应用程序的堆使用情况以及GC情况。



  3 jinfo :jinfo 可以用来查看正在运行的java应用程序的扩展参数,甚至支持在运行时修改部分参数,她的基本语法为 
     jinfo <option> <pid>
  其中 option 可以为以下信息:
  -flag <name> 打印指定jvm的参数值
  -flag [+|-]<name>:设置指定jvm参数的布尔值。
  -flag <name>=<value> 设置指定jvm参数的值。
  很多情况下 java程序不会指定所有的jvm参数,此时,开发人员可能不知道某一个具体的jvm参数的默认值,如果通过参考手册去查找 这个过程是非常艰难的,使用jinfo 开发人员可以很方便的找到jvm参数的当前值。
  jinfo不仅可以查看运行时某一个jvm参数的实际取值,甚至可以在运行时修改部分参数,并使之立即生效。


 4 jmap :jmap 可以生成java 应用程序的堆快照和对象的统计信息。
   下例使用jmap 生成PID 为2972的Java 程序的对象统计信息,并且输出到s.txt文件中
   jmap -histo 2972 >c:\s.txt

 
 5 jhat 使用jhat 工具可以用于分析java 应用程序的堆快照内容。
  jhat c:\heap.hprof
  
 6 jstack :jstack 可用于导出java 应用程序的线程堆栈,其语法为
    jstack [-l] <pid>
   -l 可用于打印锁的附加信息。
  jstack 工具会在控制台输出程序中所有的锁信息,可以使用重定向讲输出保存到文件,
  Fxm: 
       jstack -l 2348 >c:\deadlock.txt

 通过jstack 不仅可以得到线程堆栈,她还能自动进行死锁检查,输出找到的死锁信息。


 7 jstatd :  jdk 命令中 也存在支持对元和曾计算机的监控 例如 jps jstat ,为了启用远程监控,则需要配合使用jstat工具。
   jstatd 是一个RMI服务端程序,她的作用相当于代理服务器,简历本地就三级远程监控工具的通信。jstatd 服务器讲本机的java应用程序信息传递到远程计算机上。

   由于jstatd 程序没有足够的权限,会抛出异常,这里可以使用java的安全策略,为其分配相应的权限 暂时将其保存在jstatd.all.policy文件。
   grant codebase "file:E:/tools/jdk1.6.0.21/lib/tools.jar" {
   permission java.security.AllPermission;
};
 
  然后 使用以下命令再次开启jstatd服务器。
  jstatd -J-D java.security.policy = c:\jstatd.all.policy
  -J参数是一个公共参数,可以为 jps等命令本身设置jvm参数。

 8 hprof 工具
     与前文中介绍的监控工具不同,hprof不是独立的监控工具,他只是一个java agent 工具,它可以用于监控java应用程序在运行时的cpu信息和堆信息。使用java-agentlib:hprof=help 可以查看 hprof的帮助文档。
   
 9 jconsole 命令:
      jconsole 可以查看应用程序的运行情况,监控堆信息、永久区使用情况、类加载情况等。
  
   
   

分享到:
评论

相关推荐

    jdk命令行工具.doc

    jvm命令行工具,java性能优化,jdk命令工具, jcmd命令、jps命令、jmap命令、jstack命令、jinfo命令、jstat命令

    JVM调优前戏之JDK命令行工具.docx

    JVM调优前戏之JDK命令行工具 JVM调优前戏之JDK命令行工具是JDK中的一组命令行工具,用于监测JVM运行时的状态。这些工具对于普通开发人员来说可能不太熟悉,但它们却是JVM调优的重要步骤。在这篇文章中,我们将详细...

    Java初学者 JDK命令行 路径问题

    ### Java初学者遇到的JDK命令行路径问题详解 对于Java初学者而言,在学习和实践过程中经常会遇到关于JDK命令行中的路径问题。这些问题看似简单,但若处理不当,则会严重影响学习进度。本文将详细解释标题及描述中...

    visualvm 216版本

    VisualVM 是一个集成多个 JDK 命令行工具的可视化工具。可以作为 Java 应用程序性能分析和运行监控的工具。开发人员可以利用它来监控、分析线程信息,浏览内存堆数据。系统管理员可以利用它来监测、控制 Java 应用...

    visualVM_131

    VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。 可以...

    JDK22 开发工具包!!!

    4. **JDK命令行工具** JDK22包含了丰富的命令行工具,如JVisualVM、jconsole等,用于分析和诊断应用程序。 总之,JDK22不仅提供了许多新特性以提升开发体验,还对性能和稳定性进行了优化。开发者应充分利用这些...

    Android 命令行工具commandlinetools-mac-7583922_latest.zip

    如果您不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android Studio 中。Android 命令行工具适用于macOS系统。

    JavaVisualVM可视化多线程监控分析工具v1.3.8官方安装版

    Java VisualVM是一个多线程的监控分析工具,VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。功能包括内存分析、快照功能、转储功能...

    jdk源码包jdk-11.0.1

    9. **jdk.jcmd**:JDK命令行工具,提供了许多用于诊断、管理和操作JVM的命令,如JVM信息查询、堆内存分析、垃圾收集等。 10. **jdk.dynalink**:动态链接库,提供了一种方式来在运行时动态绑定方法调用,通常用于...

    Android 命令行工具(commandlinetools-linux-8092744_latest.zip)

    Android 命令行工具(commandlinetools-linux-8092744_latest.zip)适用于Linux系统。 如果不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android ...

    VisualVM-入门指南.docx

    VisualVM 能够提供强大的分析能力,囊括多个 JDK 命令行工具,如 jstat, JConsole, jstack, jmap 和 jinfo 等,帮助开发者快速、方便地查看多个 Java 应用程序的相关信息。 什么是 Visual VM? VisualVM 是一个...

    jdk-13.0.2_windows-x64_bin.exe安装包

    8. **JDK命令行工具**:包括jconsole、jinfo、jmap、jstack等,这些工具提供了对JVM的监控和诊断功能。 JDK 13.0.2版本引入了一些新特性和改进,例如: - **Switch Expressions增强**:扩展了switch语句,使其可以...

    jdk1.6_6u45

    9. **调试与诊断**:提供了一些新的JDK命令行工具,如VisualVM,帮助开发者进行性能分析和问题定位。 **环境变量配置** 在安装JDK后,通常需要配置两个环境变量: - `JAVA_HOME`:指向JDK的安装目录。 - `PATH`:...

    Java 命令行工具

    在使用Java命令行工具时,确保`JAVA_HOME`环境变量设置正确,指向JDK的安装目录,因为`javac`和`java`通常位于`%JAVA_HOME%\bin`路径下。 6. **错误处理与调试**: 在命令行模式下,所有错误和输出都会直接显示在...

    JDK10-13.zip

    - 提升了JDK命令行工具的体验,如`jlink`和`jpackage`,便于构建自包含的应用程序 这些版本的JDK更新带来了许多优化和新特性,提升了开发者的工作效率和Java应用的性能。对于学习和理解Java语言的发展历程,以及...

    JDK Development Kit 20.0.1 - Windows x64 Compressed Archive

    8. **JDK命令行工具**:包括`java`、`javap`、`jconsole`、`jmap`、`jinfo`等,这些工具提供了丰富的功能,如运行Java程序、反编译字节码、监控JVM性能等。 9. **模块系统(Jigsaw)**:自Java 9引入,模块系统允许...

    java 11 下载 ,集中统一下载 避免各个地方下载

    7. **JDK命令行工具增强**:`jdk.jcmd`提供了更多的JDK命令行工具,用于诊断和管理Java应用。 8. **JLink和JPackage工具**:这两个工具分别用于创建自定义的JRE(Java Runtime Environment)和打包应用程序,降低了...

    Java学习从入门到精通

    2. JDK命令行工具: - `java`:启动Java虚拟机(JVM),执行编译后的Java类。 - `javac`:Java编译器,将源代码编译成字节码。 - `jar`:用于创建、修改和提取Java归档(JAR)文件。 - `javadoc`:生成Java源...

    JDK常用命令.pdf

    尽管如此,了解JDK命令行工具的使用,对于开发者来说仍然是十分必要的,尤其是在一些IDE无法提供帮助或者需要在命令行环境下运行特定操作的场景中。 在本文件中还提到了一些与JDK命令相关的特定参数和选项,例如: ...

    一键切换jdk版本工具

    这个目录包含了许多操作系统核心的命令行工具,将它放在这里便于系统识别和使用。 2. 接着,用户需要编辑包含切换逻辑的批处理文件(bat脚本),通常是通过记事本或其他文本编辑器打开。在脚本中,用户应修改与JDK...

Global site tag (gtag.js) - Google Analytics