关键词:
概述
在JDK 1.7之后,新增了一个命令行工具jcmd。
它是一个多功能工具,能够用来导出堆,查看java进程,导出线程信息。运行GC等。
使用演示样例
以下这个命令能够列出当前运行的全部虚拟机:
參数-l表示列出全部java虚拟机,针对每个虚拟机,能够使用help命令列出该虚拟机支持的全部命令。例如以下图所看到的,以21024这个进程为例:
查看虚拟机启动时间VM.uptime
打印线程栈信息Thread.print
查看系统中类统计信息GC.class_histogram
运行例如以下命令:
[[email protected]~]$ jcmd 21024 GC.class_histogram
得到结果例如以下:
导出堆信息GC.heap_dump
使用例如以下命令能够导出当前堆栈信息,这个命令功能和 jmap -dump
功能一样
获取系统Properties内容VM.system_properties
获取启动參数VM.flags
获取全部性能相关数据PerfCounter.print
总结
从以上演示样例能够看出,jcmd拥有jmap的大部分功能,而且Oracle官方也建议使用jcmd取代jmap。
使用jcmd采集jfr(代码片段)
...等。可以说,JCMD集成了以前我们常用的jstack,jps,jmap等命令,就像瑞士军刀一样,allinone。除了这些功能,JCMD还能够采集JFR信息进行性能分析。JFR:JavaFlyRecordJFR全称javaflyrecord,是Java平台性能分析和事件采集的框架,且是JDK自带... 查看详情
jvm诊断命令jcmd介绍
...留出处。简介从JDK7开始,jdk提供了一个方便扩展的诊断命令jcmd,用来取代之前比较分散的jdk基础命令,如jps、jstack、jmap、jinfo等,并且jdk添加新的诊断功能,也会通过jcmd提供,所以还是有必要将这 查看详情
jvm性能调优工具之jcmd(代码片段)
概述在JDK1.7以后,新增了一个命令行工具jcmd。他是一个多功能的工具,可以用它来导出堆、查看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc工具的飞行记录器)。命令格式1jcmd<pid|mainclass><command...|PerfCounter.... 查看详情
jcmd(代码片段)
...性能统计信息 概述在JDK1.7以后,新增了一个命令行工具jcmd。他是一个多功能的工具,可以用它来导出堆、查看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc工具的飞行记录器)。命令格式jcmd<pid|mainc... 查看详情
javajmap与jcmd命令dump内存heap堆(代码片段)
//获取当前Java程序的进程idlongpid=ProcessHandle.current().pid();//jmap与jcmd两种命令方式效果相同,均为dump内存String[]cmd1="jmap","-dump:live,formt=b,file=D:/dump/jmap.hprof",String.val 查看详情
jvm监控命令
1.概述Jcmd是一个诊断Jvm的命令集工具,集成了包括Jps,Jstack以及采集JFR信息等功能.它必须运行在被诊断Jvm进程的同一台机器上.1)查询JVM进程及PID/dapeng-container/bin#jcmd-l252sun.tools.jcmd.JCmd-l13com.github.dapeng.bootstrap.Bootstrap2)查询指定... 查看详情
监控线程的3种方法(代码片段)
1.JDK命令行工具 - jstackjps-l查询当前运行线程jstack-[operation]pid其中operation:-F:当jstackpid没有响应时,使用-F强制dump线程信息-m:打印java线程栈和本地线程栈-l:长期监听,打印锁信息jstack-l13>/tmp/deadlock.txt-l会打印锁的附加信息... 查看详情
jcmdjmc介绍
一、jcmd命令使用概述在JDK1.7之后,新增了一个命令行工具jcmd。它是一个多功能工具,可以用来导出堆,查看Java进程,导出线程信息,执行GC等。使用示例下面这个命令能够列出当前运行的所有虚拟机:参数-l表示列出所有java虚... 查看详情
jcmd分析jvm虚拟机并解析jfr文件
Jcmd分析jvm虚拟机 在JDK1.7之后,新增了一个命令行工具jcmd。它是一个多功能工具,可以用来导出堆,查看java进程,导出线程信息,执行GC等。 开启JFR需要三步:创建一个包含了你自己配置的JFR模板文件。运行 jmc,然后... 查看详情
如何查看jvm的扩展参数
...看正在运行的JVM的参数。jcmd从JDK7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。查看JVM进程的PID$jcmd-l27940sun.tools.jcmd.JCmd-l24684org.codehaus.plexus.classworlds.launcher.Launcher-Prun23839com.intellij.idea.Main23951org.jetbrains.idea... 查看详情
jvm监控诊断之命令行使用(代码片段)
JVM监控诊断1.jps命令2.jstat命令3.jinfo命令4.jmap命令5.jhat命令6.jstack命令7.jcmd命令8.jstatd命令在刚开始学习Java的时候,我们肯定对javac和java两个命令非常熟悉。但其实在JDK中,Oracle官方还给我们提供了许多辅助命令工具,... 查看详情
jfr使用记录
...cialFeatures-XX:+FlightRecorder添加到启动参数 2.需要时启动命令:jcmd$java_process_idJFR. 查看详情
OutOfMemoryError 堆转储
...COverheadlimitexceeded。我的应用程序没有HeapDumpOnOutOfMemoryError命令行选项。我需要堆转储,但是当我尝试使用jmap或jcmd工具捕获转储时,它们没有响应:jma 查看详情
获取java线程转储的常用方法(代码片段)
文章目录1.线程转储简介2.使用JDK自带的工具2.1jstack工具2.2JavaMissionControl2.3jvisualvm2.4jcmd2.5jconsole2.6小结3.使用Linux命令3.1使用`kill-3`指令3.2`Ctrl+Break`(Windows)4.通过编程方式使用ThreadMxBean5.总结6.附录:线程状态及示例代 查看详情
javajfr
1.参数:-XX:+UnlockCommercialFeatures-XX:+FlightRecorder 2.运行命令:jcmd<PID>JFR.startname=testduration=60ssettings=template.jfcfilename=output.jfr 参考:https://www.cnblogs.com/duanxz/p/8 查看详情
jvm监控诊断之命令行使用(代码片段)
JVM监控诊断1.jps命令2.jstat命令3.jinfo命令4.jmap命令5.jhat命令6.jstack命令7.jcmd命令8.jstatd命令在刚开始学习Java的时候,我们肯定对javac和java两个命令非常熟悉。但其实在JDK中,Oracle官方还给我们提供了许多辅助命令工具,... 查看详情
Java 任务控制堆配置文件
...法在Memory->ObjectStatistics窗口中看到任何统计信息。以下命令启动集合:jcmd<pid> 查看详情
通过nativememorytracking查jvm的线程内存使用(线上jvm排障之九)
很多时候会面对线上内存使用很多,特别是本地内存怎么用的说不太清,就是每一块内存总和和总的Java线程占用内存不匹配。很多时候如果dump出来内存也没有太大的作用,因为本地内存是看不到。本地内存有很多是线程占用的... 查看详情