Java性能调优:利用JFR生成性能日志

标签: java 性能调优 利用 | 发表时间:2017-01-05 22:14 | 作者:TieMushan
出处:http://www.iteye.com

Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻。

好的分析工具能起到事半功倍的效果,利用分析利器JMC、JFR,可以实现性能问题的准确定位。

本文主要阐述如何利用JFR生成性能日志

 

JMC:Java Mission Control

JFR:Java Flight Recorder

 

1. 打开JFR

JVM_OPT中添加:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

2. 启动JFR

登陆服务器,找到应用PID,执行命令:jcmd $PID JFR.start name=abc,duration=120s

3. Dump JFR

等待至少duration(本文设定120s)后,执行命令:jcmd $PID JFR.dump name=abc,duration=120s filename=abc.jfr(注意,文件名必须为.jfr后缀)

4. 检查JFR状态

执行命令:jcmd $PID JFR.check name=abc,duration=120s

5. 停止JFR

执行命令:jcmd $PID JFR.stop name=abc,duration=120s

6. JMC分析

切回开发机器,下载步骤3中生成的abc.jfr,打开jmc,导入abc.jfr即可进行可视化分析

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [java 性能调优 利用] 推荐:

Java 性能调优

- - 编程语言 - ITeye博客
1.用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用. 但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法. clone()方法不会调用任何类构造函数. 在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实例非常简单.

Java性能调优:利用JFR生成性能日志

- - 编程语言 - ITeye博客
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC、JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成性能日志. JVM_OPT中添加:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder.

[原]Java性能调优

- - 傲慢的上校的专栏
写Java也有n年了,现在还是有不少的坏的代码习惯,也通过学习别人的代码学到了不少好的习惯. 留给自己做个警戒,提示以后写代码的时候注意. 在文章的后面,会提供整理的原材料下载. 1、尽量少用new生成新对象.         用new创建类的实例时,构造雨数链中所有构造函数都会被自动调用,操作速度较慢.

Java性能调优续

- - 编程语言 - ITeye博客
       下面列出一些常见的关于字符串优化的策略,简单的我就不多作解释了. 1) 使用规则表达式处理字符串匹配代替复杂的字符串查找和复制操作;. 2) 使用不拷贝字符串中字符的高效方法,例如String.subString()方法;. 3) 尽可能不要使用需要拷贝字符串中字符的低效方法,例如String.toUpperCase()和String.toLowercase();.

成为Java GC专家(5)—Java性能调优原则

- - ImportNew
这是“ 成为Java GC专家”系列的第五篇文章. 在第一篇 深入浅出Java垃圾回收机制中,我们已经学习了不同的GC算法流程、GC的工作原理、新生代(Young Generation)和老年代(Old Generation)的概念. 你应该了解了JDK7中5种GC类型以及各种类型对应用程序的影响.

Java 性能调优指南 – 高性能Java

- - 码蜂笔记
本文主要基于 Java performance tuning tips or everything you want to know about Java performance in 15 minutes的翻译. 这篇指南主要调优 java 代码而不是 JVM 设置. Java 1.7.0_06 String 内部表示的改变.

Java应用性能调优之调优准备

- - 后端技术杂谈 | 飒然Hang
实际的开发工作中,有时候会遇到程序突然变得响应缓慢或者进程消失的情况. 这时候就需要对程序进行问题排查和调优,找出产生问题的根源,并进行优化. 一般来说,影响程序性能的因素主要有以下几个:. CPU、内存、硬盘等硬件配置从根本上决定了应用的性能,而对于网络应用,带宽也是影响其性能的关键因素. 本章暂且抛开这些方面不讲,主要讲述针对操作系统和应用程序的调优方法.

HBase性能调优

- - 学着站在巨人的肩膀上
我们经常看到一些文章吹嘘某产品如何如何快,如何如何强,而自己测试时却不如描述的一些数据. 其实原因可能在于你还不是真正理解其内部结构,对于其性能调优方法不够了解. 本文转自TaoBao的Ken Wu同学的博客,是目前看到比较完整的HBase调优文章. 原文链接:HBase性能调优. 因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.

hbase性能调优

- - 数据库 - ITeye博客
   1)、hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB,比如大的put、使用缓存的scans)的时候,如果该值设置过大则会占用过多的内存,导致频繁的GC,或者出现OutOfMemory,因此该值不是越大越好.

Hadoop性能调优

- - 开源软件 - ITeye博客
是否对任务进行profiling,调用java内置的profile功能,打出相关性能信息. 对几个map或reduce进行profiling. 非常影响速度,建议在小数据量上尝试. 1表示不reuse,-1表示无限reuse,其他数值表示每个jvm reuse次数. reuse的时候,map结束时不会释放内存.