jcmd的简单实用
命令jcmd
显示所有java进程id及相关信息
命令 jcmd java_pid help
显示某个java进程的所有可用命令
➜ jobs jcmd 61185 help
61185:
The following commands are available:
JFR.stop
JFR.start
JFR.dump
JFR.check
VM.native_memory
VM.check_commercial_features
VM.unlock_commercial_features
ManagementAgent.stop
ManagementAgent.start_local
ManagementAgent.start
VM.classloader_stats
GC.rotate_log
Thread.print 打印线程栈信息Thread.print
GC.class_stats
GC.class_histogram 查看系统中类统计信息
GC.heap_dump 导出堆信息GC.heap_dump
GC.finalizer_info
GC.heap_info
GC.run_finalization
GC.run 执行GC操作
VM.uptime 查看虚拟机启动时间VM.uptime
VM.dynlibs
VM.flags 获取启动参数VM.flags
VM.system_properties
VM.command_line
VM.version
help
For more information about a specific command use 'help <command>'.
特别注意,上面并没有PerfCounter.print这条命了,但是也可以使用。作用是:可详细打印对应java进程的有效性能计数器(performance counters)
jobs jcmd 61185 VM.check_commercial_features查看进程的jfr功能是否加锁
最早jfr功能是商用的,现在已经开源,可以直接使用
➜ jobs jcmd 61185 VM.check_commercial_features
61185:
Commercial Features are unlocked.
Status of individual features:
Java Flight Recorder has been used.
Resource Management is disabled.
Current Memory Restriction: None (0)
解锁jfr-Java Flight Recorder功能,默认是加锁的
➜ jobs jcmd 61185 VM.unlock_commercial_features
61185:
Commercial Features already unlocked.
jcmd 61185 JFR.start 开启jfr录制
➜ jobs jcmd 61185 JFR.start
61185:
Started recording 3. No limit (duration/maxsize/maxage) in use.
Use JFR.dump recording=3 filename=FILEPATH to copy recording data to file.
输出录制文件,文件后缀命建议.jfr,这样直接双击*.jfr,就可以使用jmc工具打开进行分析
必须指定上面的参数recording和参数filename
➜ jobs jcmd 61185 JFR.dump filename=./test.jfr recording=3
61185:
Dumped recording 3, 809.8 kB written to:
/Users/xxxx/github/jenkins/test.jfr
jobs jcmd 61185 JFR.stop recording=3 停止录制
➜ jobs jcmd 61185 JFR.stop recording=3
61185:
Stopped recording 3.
某个具体命令的帮助
D:\>jcmd 9816 help GC.run
9816:
GC.run
Call java.lang.System.gc().
Impact: Medium: Depends on Java heap size and content.
Syntax: GC.run
关于jfr的性能消耗
Java Flight Recorder (JFR) is a tool for collecting diagnostic and profiling data about a running Java application. It is integrated into the Java Virtual Machine (JVM) and causes almost no performance overhead, so it can be used even in heavily loaded production environments. When default settings are used, both internal testing and customer feedback indicate that performance impact is less than one percent. For some applications, it can be significantly lower. However, for short-running applications (which are not the kind of applications running in production environments), relative startup and warmup times can be larger, which might impact the performance by more than one percent. JFR collects data about the JVM as well as the Java application running on it.
命令的更多参数
https://www.jianshu.com/p/a6fa4cc2860c
如何利用JMC分析性能
https://blog.csdn.net/h254532699/article/details/54342511/
jcmd的简单实用的更多相关文章
- jQuery的几种简单实用效果
许久未分享博客,或许已生疏. 闲来无事, 分享几个jQuery简单实用的效果案例 不喜勿喷... 1.页面常用的返回顶部 <!DOCTYPE html> <html lang=&qu ...
- 经验分享:10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库.今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 您可能感兴趣的相 ...
- 简单实用的PHP防注入类实例
这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注 ...
- php简单实用的操作文件工具类(创建、移动、复制、删除)
php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) { // 原目录,复制到的目录 $dir = opend ...
- 基于Bootstrap简单实用的tags标签插件
http://www.htmleaf.com/jQuery/ jQuery之家 自由分享jQuery.html5和css3的插件库 基于Bootstrap简单实用的tags标签插件
- C#_简单实用的翻页
简单实用的生成翻页HTML辅助类 C# using System.Text; namespace ClassLibrary { /// <summary> /// /// </sum ...
- 简单实用的Windows命令(一)
前几天新买了一台笔记本电脑,使用了一下几个简单的查看电脑配置的命令,觉得非常的不错,在此记录一下 一:运行命令的方式有两种 1:使用快捷键WIN+R,然后在弹出的“运行”对话框中输入对应的命令 2:在 ...
- 简单实用的Windows命令(二)
昨天简单的记录了几个非常简单实用的Windows命令,不过我又想起来还有两个我在实际的工作中也是经常用到的命令——PING和IPCONFIG,不过我在工作中的使用都是非常简单的,用PING命令检测对应 ...
- iOS边练边学--多线程介绍、NSThread的简单实用、线程安全以及线程之间的通信
一.iOS中的多线程 多线程的原理(之前多线程这块没好好学,之前对多线程的理解也是错误的,这里更正,好好学习这块) iOS中多线程的实现方案有以下几种 二.NSThread线程类的简单实用(直接上代码 ...
随机推荐
- 016_Python3 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...
- RookeyFrame 通用页面 加载数据 原理
说明: 我是一步一步跳转进去的哈 测试的功能:通用列表页面的普通查询 点一下查询按钮,就能看到请求的地址:/DataAsync/LoadGridData.html 1.DataController - ...
- AtCoder Grand Contest 003题解
传送门 \(A\) 咕咕 const int N=1005; char s[N];int val[N],n; int main(){ scanf("%s",s+1),n=strle ...
- 复旦高等代数 II(15级)每周一题
[问题2016S01] 设 $f(x)=x^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0$ 是整系数首一多项式, 满足: $|a_0|$ 是素数且 $$|a_0|>1+\s ...
- 《挑战30天C++入门极限》C++面向对象编程入门:类(class)
C++面向对象编程入门:类(class) 上两篇内容我们着重说了结构体相关知识的操作. 以后的内容我们将逐步完全以c++作为主体了,这也意味着我们的教程正式进入面向对象的编程了. 前面的教程我 ...
- 《挑战30天C++入门极限》C/C++中字符串常量的不相等性及字符串的Copy
C/C++中字符串常量的不相等性及字符串的Copy #include <iostream> void main(void) { if("test&quo ...
- C# 清除sqlite密码
C# 清除sqlite密码 .创建空的sqlite数据库. //数据库名的后缀你可以直接指定,甚至没有后缀都可以 //方法一:创建一个空sqlite数据库,用IO的方式 FileStream fs = ...
- 深入理解JVM虚拟机13:再谈四种引用及GC实践
Java中的四种引用类型 一.背景 Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收.Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分 ...
- mongo最大连接数查看
进入客户端 mongo 输入查看命令 db.serverStatus().connections
- ORACLE数据库特性
目录 ORACLE数据库特性 一.学习路径 二.ORACLE的进程情况 三.ORACLE服务器的启动和关闭 (SQLPLUS环境挂起和恢复等) 连接Oracle的几种方式 四.几个关注点 1. ORA ...