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

使用maxsize=1g的飞行记录器仍会返回一条缺少时间窗口的轨迹

戚京
2023-03-14

我有一个资源密集型的、基于java-8的命令行应用程序,我经常使用flight recorder对其进行评测。我经常注意到的是,当我在任务控制中打开飞行记录器文件(jfr)时,我看到了该过程运行的整个时间跨度,但我在这个时间窗口的前60-70%缺少事件。

我试过使用飞行记录仪选项,以下是我目前使用的:

-Djava.library。path=/some/path/lib-Xmx50G-XX:UnlockCommercialFeatures-XX:UseG1GC-XX:FlightRecorder-XX:StartLightRecording=name=MyRecording,settings=profile-XX:FlightRecorderOptions=defaultrecording=true,maxsize=1g,maxage=1h,dumponexit=true,dumponexitpath=/some/path“

我的希望是,这将自动捕获一条记录,记录将在进程完成时保存到/some/path,并且它保存的文件将高达1GB。有人知道正确的供应选择是什么吗?

共有1个答案

曾晨
2023-03-14

我会回答我自己的问题。经过一些实验和反复试验,似乎需要添加“disk=true”。

所以最终的java args变成了:

-Djava.library.path=/一些/路径/库-Xmx50G-XX:解锁商业功能-XX:使用G1GC-XX:飞行记录器-XX:开始飞行记录器=名称=我的记录,设置=配置文件-XX:飞行记录器选项=默认记录=true,磁盘=true,maxsize=1g,maxage=1h,DumPonexitpath=/一些/路径"

 类似资料:
  • 首先,我知道这个查询有点混乱,但它可以正常工作,直到至少有一条记录存在,并且设置为true,此时没有返回任何记录。如果有另一条记录的设置为false或两者的组合,则它可以正常工作,即返回的记录的所有票证总数都设置为0或适当的值。 我已将查询更新为,并将票证表联接更改为left(也尝试了full outer),但它仍然存在上述问题。 为什么会发生这种情况,我能做些什么来防止它?

  • 问题内容: 在以下方法中,即使通过该方法只有一条路径,并且编译器包含一条语句,编译器也会抱怨 缺少return语句。抑制该错误需要另一条语句。 鉴于Java编译器可以识别无限循环,为什么它也不能处理这种情况?链接的问题提示,但不提供此特定情况的详细信息。 问题答案: JLS14.21,“无法到达的语句”是处理此问题的部分: if语句(是否具有else部分)以异常方式处理。因此,本节末尾将单独讨论。

  • 假设我有一个股票市场交易事件流,如下所示: 使得technicalN(其中N是一些数字)代表给定公司的日终股票市场交易数据的第N个技术交易条目[开盘(浮动)、高位(浮动)、低位(浮动)、收盘(浮动)、成交量(int)]。(即ticker GOOG的技术1不同于ticker MSFT的技术1。)如: (请注意,这些交易价格/交易量完全是虚构的。 假设我想创建一个大小为2、时间间隔为1天的窗口,这样我

  • 问题内容: 我敢肯定这个问题已经问过了,但是找不到嵌套的if-else和switch-case逻辑解决我的问题的答案。 我有两个部分,每个部分都有两个自定义单元格。就是这样。4格。但是无论我做什么,都会得到“在期望返回的函数中缺少返回” 问题 如何更改此设置,以便在底部获得满足快速逻辑的else语句? 任何帮助将不胜感激 问题答案: 在方法开始时声明单元格, 根据部分和行号为单元格分配一个值, 在

  • 这里模型里有3行role_model里有1行所以一定是这样的 这就是界面 这是服务实现: 在控制器Restapi 这只返回了一条记录 1 UserManagement NULL 21 0 1 TEST 1

  • 问题内容: 我在查询中发现了一些问题,该查询从表中返回满足特定条件的所有记录的字段总和。当没有记录时,我希望收到“找不到记录”,但我收到的是空结果。 在这种情况下,有什么方法可以不接收任何记录? 问题答案: 这个怎么样: