当前位置: 首页 > 知识库问答 >
问题:

如何在命令行上使用JFR记录分配?

孟财
2023-03-14

我使用Java任务控制创建了一个配置文件,该配置文件启用了分配分析。当我从JMC UI使用它进行记录时,一切正常,我得到了结果。

然而,在导出设置并尝试在命令行上使用JFR记录之后,我没有记录分配,即使我得到了其他分析信息。

我使用以下设置运行录制:JAVA\u OPTS=“$JAVA\u OPTS-XX:UnlockCommercialFeatures-XX:FlightRecorder-XX:FlightRecorderOptions=defaultrecording=true,settings=”

在JMC中加载录制并检查内存部分时,我看到消息“在新TLAB中分配”事件类型在此录制中未启用。

设置文件在这里:https://gist.github.com/jmiettinen/1976f9bbe156ecb5e232,它启用了相关的设置java/object_alloc_in_new_TLABjava/object_alloc_outside_TLAB

我错过什么了吗?我正在运行1.8.0_66,希望从应用程序启动到停止进行连续记录。


共有2个答案

常哲彦
2023-03-14

您正在运行哪个版本的JDK?

在7u76和8u20中修复了一个错误,如果defaultrecording=true,则不考虑设置参数

苏翰学
2023-03-14

在Jfokus的@jmiettin处验证了这些标志的作用:

这些选项似乎为我工作,如果你想有一个连续的记录与特殊的设置,并让它转储数据退出:-XX: FlightRecorderOptions=DumPonexitpath=rec.jfr-XX: StartFlightRecording=default录音=true,设置=d:/tmp/wop.jfc

不同之处在于将默认录制和设置参数放在-XX: StartFlight Recording标志之后。

 类似资料:
  • 我正在尝试使用jcmd二进制文件/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/jcmd(Mac OS X)运行Java飞行记录器。是否有命令行选项来启用与开始飞行记录UI上的堆统计选项相对应的堆指标:

  • 我将学习Java飞行记录器使用Java飞行记录器监控的课程。 我根据示例编译了一个java代码(添加类和导入,因为它没有编译出它们): 然后我按照路线运行: C:\Program Files\Java\jdk1.8.0_191\bin 紧接着输出: 已开始录制1。结果将写入: C:\AM\out\flight.jfr java的Windows任务管理器中的内存使用率上升,超过200秒后: 线程“m

  • 在我的工作中,我们开始使用flyway,数据库管理员问我flyway是否有日志。在阅读了一些关于互联网和flyway文档的文章后,我没有找到一种方法来进行这种配置。 在StackOverflow上,一些用户说只需要将log4j放在类路径上就可以了。我尝试放置log4j文件但对我不起作用,但是当我尝试将SLF4J的文件放在flyway(类路径)的lib目录时: slf4j-api-1.7.21.ja

  • Android 测试,发版前要对渠道版本进行渠道号验证、冒烟测试、签名检查! adb debugging 打印当前连接设备 adb devices 获取信息 获取手机系统系的信息,包括硬件和软件 adb shell getprop adb shell getprop ro.build.version.release #获取手机android系统版本 adb shell getpro

  • 我正在尝试使用Selenium运行Python脚本,虽然一切运行正常,但我的个人print()到控制台行隐藏在大量Selenium/Chromedriver输出之间,如下所示: 我检查了这些链接是什么,它们只是我正在看的页面上的广告,所以完全没用。此外,由于广告是在每次页面加载/重新加载时随机生成的,链接是不同的,所以输出是永无止境的。这非常烦人,很难看到我的程序中到底发生了什么。有没有办法用硒选

  • # 查看已下载的Docker镜像latest具体版本 # docker image inspect redis:latest|grep -i version docker image inspect 镜像名:latest|grep -i version # 容器日志过大处理 # Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文