运行java飞行记录器JFR(java flight recorder)
JFR
上面讲到的工具都是作为快速的查看诊断工具的。如果要深入分析问题,可以选择使用内置的Java飞行记录器:Java Mission Control。
转储JFR需要三步:
1. 创建一个包含了你自己配置的JFR模板文件。运行jmc, 然后Window->Flight Recording Template Manage菜单。准备好档案后,就可以导出文件,并移动到要排查问题的环境中。

2. 由于JFR需要JDK的商业证书,这一步需要解锁jdk的商业特性。
C:\Users\lenovo>jcmd 8152 VM.unlock_commercial_features

3. 最后你就可以启动JFR。
jcmd <PID> JFR.start name=test duration=60s settings=template.jfc filename=output.jfr
上述命令立即启动JFR并开始使用templayte.jfc的配置收集60s的JVM信息,输出到output.jfr中。
一旦记录完成之后,就可以复制.jfr文件到你的工作环境使用jmc GUI来分析。它几乎包含了排查jvm问题需要的所有信息,包括堆dump时的异常信息。
还有一种方式:



一分钟后可查看记录数据,通过这些数据,可以清楚的了解到这一分钟时间内,整个操作系统以及JVM的所有数据情况。
运行java飞行记录器JFR(java flight recorder)的更多相关文章
- 使用jvisualvm和飞行记录器分析Java程序cpu占用率过高
一.jvisualvm使用 JDK1.6中Oracle提供了一个新的JVM监控工具:jvisualvm.下面重点介绍如何在本地通过远程的方式打开Linux服务器上的jvisualvm. 1.Xmana ...
- 利用Java Flight Recorder(JFR)诊断timing及内存问题
Java Flight Recorder(JFR), 以下简称JFR,请注意这个只有Oracle JDK 1.7(7u40)或以上版本才有, OpenJDK木有这东西. 启用: Java命令行启动参数 ...
- java 11 Java Flight Recorder
Flight Recorder源自飞机的黑盒子 Flight Recorder以前是商业版的特性,在java11当中开源出来,它可以导出事件到文件中,之后可以用Java Mission Control ...
- Oracle Java Mission Control MBean 服务器 飞行记录器
Oracle Java Mission ControlMBean 服务器飞行记录器
- 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行
利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 原文链接 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- 在命令行中运行eclipse中创建的java项目
在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行 由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...
- Java内存管理:Java内存区域 JVM运行时数据区
转自:https://blog.csdn.net/tjiyu/article/details/53915869 下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些, ...
- 在命令行中直接运行带main方法的java
用了很久的java,基本都是交给服务器完成的执行,有page之类的入口,或者是在IDE工具中直接 Run As Java Application. 并且一直对安装java之后配置JAVA_HOME,p ...
- 【Java】java运行jar时,报 java.lang.UnsupportedClassVersionError
问题现象: java运行jar时,报 java.lang.UnsupportedClassVersionError java -jar main.jar -h 192.168.221.171 - ...
随机推荐
- HashSet remove()
HashSet继承自Set接口的方法:boolean remove(Object o); case1: public class ShortTest { public static void main ...
- centos7虚拟机安装elasticsearch5.0.x-安装篇
https://blog.csdn.net/u012371450/article/details/51776505 请预先安装jdk 创建新用户(非root用户)elasticsearch只能用非ro ...
- 【shell编程】之基础知识-常用命令
一.Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. ...
- vue全家桶+Koa2开发笔记(6)--app开发
1.环境配置 详见文章<Nuxt 开发 - 项目初始化> 1.1 使用nuxt脚手架 https://zh.nuxtjs.org/guide/installation 1.2 在nod ...
- linux实用操作
静态ip vi /etc/sysconfig/network-scripts/你的网卡名字(使用ifconfig查看,第一个就是)dhcp修改为static,onboot改为yes IPADDR=19 ...
- C# to IL 6 Reference and Value Types(引用类型和值类型)
An interface is a reference type, in spite of the fact that it has no code at all. Thus, wecannot in ...
- ASP.NET MVC中常用的ActionResult类型
常见的ActionResult 1.ViewResult 表示一个视图结果,它根据视图模板产生应答内容.对应得Controller方法为View. 2.PartialViewResult 表示一个部分 ...
- 一、搭建Django,建立第一个demo
一. 1.安装好Python(我用的最新版2.7.15),配置环境变量,并且安装好对应的Django版本(pip install django),在Python安装目录下的Scropts下会多出dja ...
- django 保存中文到mysql 报错django.db.utils.DatabaseError: Incorrect string value: '\xE5\xBE\x88\xE7\x81\xB5
分析: 1.尝试在Python中对数据转码成utf8,'中文'.encode("utf-8"),还是报错 2.观察堆栈发现应该是操作mysql数据库的时候,将数据插入表里出错 所以 ...
- thinkphp5 怎么获取当前的模块,控制器和方法名
//当前模块url地址 $request= Request::instance(); $module_name=$request->module(); $controller_name=$req ...