dump内存信息

  1. 通过jps -lm找到进程id
  2. jmap -dump:format=b,file=./heap.hprof <pid>
  3. 使用jprofile等分析内存占用情况

dump线程信息

  1. 通过jps -lm找到进程id
  2. jstack <pid> > thread.txt

Java飞行记录器

  1. 通过jps -lm找到进程id
  2. 通过jcmd <pid> VM.check_commercial_features查看是否解锁商业feature
  3. 通过jcmd <pid> VM.unlock_commercial_features来解锁商业feature
  4. 通过jcmd <pid> JFR.start name=10min.jfr settings=profile delay=3s duration=5m filename=./10_min.jfr compress=true来收集10分钟内的数据
  5. 使用jmc等工具分析jfr数据

JDK Mission Control

JMC工具用于分析jfr数据,通过直接jmc命令启动。如果您在启动JMC后无法操作界面,可能遇到了java8下的bug。

常见命令

  1. jcmd <pid> GC.run 触发full gc,当配置-XX:+DisableExplicitGC时不管用
  2. jmap -histo:live <pid> 触发full gc

参考

  1. http://www.mamicode.com/info-detail-2422833.html
  2. https://stackoverflow.com/questions/53882496/openjdk-jdk11-not-having-jmc-java-mission-controller-flightrecorder
  3. https://github.com/JDKMissionControl/jmc
  4. https://www.infoq.cn/article/Troubleshooting-Java-Memory-Issues
  5. http://xxfox.perfma.com/jvm/check 检查jvm参数合理性

java应用性能分析的更多相关文章

  1. Linux环境下Java应用性能分析定位-CPU使用篇

    1     CPU热点分析定位背景 CPU资源还是很昂贵的,为了深刻感受到这种昂贵,间下图当前CPU的资源售价: 所以对于程序猿们来说,需要让程序合理高效的使用CPU资源.利用有限的CPU资源来解决完 ...

  2. 八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  3. Web应用性能分析工具—HAR文件

    Web应用性能分析工具—HAR文件 来源 https://raynorli.com/2018/06/11/web-performance-analysis-har-file/ 客户经常有的一个问题就是 ...

  4. java系统性能分析

    netstat -ano | findstr 31900 注意最后是pid 堆栈的作用: 线程死锁分析 辅助CPU过高分析 线程资源不足分析 性能瓶颈分析 关键线程异常退出 Windows:在运行ja ...

  5. Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器

    VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收 ...

  6. java程序性能分析之thread dump和heap dump

    一.dump基本概念 在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题.这些文件记录了JVM运行期间的内存占用.线程执行等情况,这就是我们常说的 ...

  7. 转帖:Python应用性能分析指南

    原文:A guide to analyzing Python performance While it’s not always the case that every Python program ...

  8. JAVA程序性能分析及调优浅析

    1.性能分析本质 寻找系统的性能瓶颈(木桶理论/短板效应),并处理系统的性能瓶颈 2.性能分析主要指标负载.响应和服务器CPU\MEM等的使用率 3.性能分析主要工具 LoadRunner Visua ...

  9. 《Java性能优化权威指南》

    <Java性能优化权威指南> 基本信息 原书名:Java performance 原出版社: Addison-Wesley Professional 作者: (美)Charlie Hunt ...

随机推荐

  1. 如何恢复已禁用的console.log?

    如何恢复已禁用的console.log? How to Restore a Disabled console.log?通过将其拉出iframe,在已删除的页面(如twitter)上恢复console. ...

  2. vue--监听器

    vue当中的属性,侦听器watch computed可以根据数据的变化而变化,而watch也具备同样的功能 既然这么相似,那么两者的区别是什么呢 首先是执行顺序上有一些细微差别,dom加载完成后将立即 ...

  3. MySQL:(一)

    数据库概述 什么是数据库 数据库是一个文件系统.通过标准SQL语言操作文件系统中数据——用来存放软件系统的数据! SQL:Structured Query Language 结构查询语言 常用数据库简 ...

  4. Java JDK下载、安装和验证

    1.JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html,点开链接看到如下图所示的界面: 2.点击上图 ...

  5. R语言并行运算示例 parallel 包

    library(parallel)#example 1cl <- makeCluster(getOption("cl.cores", 2))clusterApply(cl, ...

  6. Windows server2008服务器设置多用户登录

    添加用户 右击我的电脑-->管理-->本地用户和组-->新用户 启用远程服务并添加远程用户 启用 右键我的电脑--->属性--->远程设置--->勾上允许远程连接到 ...

  7. 初识Log4Net

    刚刚了解log4net,根据自己的理解翻译了一下比较重要的东西.详细状况请见log4net官方网站 log4net是一种帮助程序员将日志语句输出到各种目标文件的输出工具,有了log4net,就可以在运 ...

  8. 客户端与服务器之间通信收不到信息——readLine()

    写服务器端和客户端之间通信,结果一直读取不到信息,在https://blog.csdn.net/yiluxiangqian7715/article/details/50173573 上找到了原因:使用 ...

  9. linux命令:使用less从后向前查看日志信息

    线上出问题的时候,我们常用tail-n 或者tail-f或者grep或者vicat等各种命令去查看异常信息,但是日志是在不停地刷屏,tail是动态的在变的,我们往往期望从日志最后一行往前一页一页的翻页 ...

  10. centos 7安装myslq

    # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community- ...