3

我收到了一堆多个 JFR 文件进行分析,比如 170 ,并且一个一个打开需要很长时间,我可以将它们放在一个文件中,从我只有文件并且我无法配置的事实开始JVM 并再次获取 JFR。例如

  • 2020_03_30_20_37_01_2333_0.jfr
  • 2020_03_30_21_37_01_2333_0.jfr
  • 2020_03_30_22_37_01_2333_0.jfr
  • 2020_03_30_23_37_01_2333_0.jfr

    . . .

  • ñ
4

2 回答 2

6

从 11.06 或更高版本开始,您可以使用位于 JDK_HOME/bin 中的“jfr”工具。

$ jfr assemble <repository> <file>

其中repository是文件所在的目录,file是要创建的录制文件 (.jfr) 的名称。

录制文件只是块文件的串联,因此您也可以在 shell 中执行此操作。例如,在 Windows 中使用复制 /b 命令

 $ copy /b 1.jfr + 2.jfr + 3.jfr combined.jfr 
于 2020-04-01T17:16:50.890 回答
0

这是 windows powershell 中用于连接 JFR 文件的脚本,只需注意最终连接文件的大小,它可能太大,在这种情况下,您可能希望减少要连接的文件

    $Location = ""
    $outputConcatenatedJFR = "all_2333_1.jfr"
    $items = Get-ChildItem -Path . -Filter *2333_1.jfr | Sort-Object -Property Name
    New-Item $outputConcatenatedJFR -ItemType file
    ForEach ($item in $items) {
       Write-Host "Processing file - " $item
       cmd /c copy /b $outputConcatenatedJFR+$item $outputConcatenatedJFR
    }
于 2020-04-02T05:34:36.007 回答