zoukankan      html  css  js  c++  java
  • java火焰图配置

    关于火焰图的文章很多,,这里只是只个流水帐吧。。方便以后自己查看。。

    1. 下载jfr-flame-graph

    2. 在本地增加环境变量:export FLAMEGRAPH_DIR=/path/to/FlameGraph(由于我的本地是类unix系统,所以直接加了)

    3. 在work机子java启动的地方添加两个参数:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder (至于参数的含义请参考:https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/run.htm#JFRUH176)

    4. 启动你的java

    5. 请求前使用:jcmd ${PID} JFR.start duration=120s filename=/path/to/myrecording.jfr

    6. 使用  jcmd ${PID} JFR.check查看是否启动也就是runing

    7. 使用 jcmd ${PID} JFR.check查看是否启动也就是stop 那么表示抓到jfr结束

    8. 使用./create_flamegraph.sh -f /tmp/highcpu.jfr -i > flamegraph.svg生成svg图

    然后用浏览器打开,,体验一把火焰图的威力吧。 

    这里我们抓的是CPU类型的分析,火焰图展示了在采样周期内,code-path被执行的时间占比,Y轴是code-path,从下至上一般就是调用栈,相同的采样调用栈会被合并,栈顶元素就是采样的时候CPU运行的stack,X轴是某个stack的占用时间,跨度越大说明其占CPU比重越高,也就是最耗费CPU的,stack在横轴上是按照字母序排列的,颜色深浅仅仅是为了区分,并没特殊意义。

  • 相关阅读:
    java接口请求超时处理方法
    Spring Cloud GateWay 服务网关
    Mysql中on条件和where条件的使用总结
    Elasticsearch之javaAqi
    Elasticsearch—CRUD
    ElasticSearch的版本控制和Mapping创建
    cmd定时任务计划
    CSS简介及使用
    html简介及应用
    Python基础(十五)-IO模型
  • 原文地址:https://www.cnblogs.com/tywei/p/9078886.html
Copyright © 2011-2022 走看看