Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我使用Epsilon GC时,我不能使用飞行记录器_Java_Garbage Collection_Jfr - Fatal编程技术网

Java 当我使用Epsilon GC时,我不能使用飞行记录器

Java 当我使用Epsilon GC时,我不能使用飞行记录器,java,garbage-collection,jfr,Java,Garbage Collection,Jfr,我正在运行这个命令 java -cp "D:\Dev\Books Spaces\Java-11-and-12-New-Features-master\Chapter09" -XX:StartFlightRecording,filename=Epsilon.jfr -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC exploring_further/TestFlightRecorder 代码运行,但是.jfr文件是0字节 当

我正在运行这个命令

java -cp "D:\Dev\Books Spaces\Java-11-and-12-New-Features-master\Chapter09" -XX:StartFlightRecording,filename=Epsilon.jfr -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC exploring_further/TestFlightRecorder
代码运行,但是.jfr文件是0字节

当我删除
-XX:+usepsilongc
时,Java默认为G1 GC。代码运行,飞行记录器将所有数据转储到文件中,我可以读取它

为什么当我使用Epsilon时,文件是空的,我如何修复它


在JDK 14 Windows 10上。

我无法在Oracle JDK 14.02(Windows)上复制

在转储记录之前,文件的大小为零,这在JVM退出时发生(通常),因此您需要等待


如果应用程序由于OutOfMemoryError而结束,则无法保证录制,如果发生,则可能是紧急录制(可能缺少信息),并且使用前缀hs_oom_pid创建。

我无法在Oracle JDK 14.02(Windows)上复制

在转储记录之前,文件的大小为零,这在JVM退出时发生(通常),因此您需要等待


如果应用程序因OutOfMemoryError而结束,则无法保证录制,如果发生,则可能是紧急录制(可能缺少信息),并使用前缀hs_oom_pid创建。

在代码运行时,我通过点击
Ctrl+C
来修复它。.jfr文件被填充,因此我可以读取它。如果我等待OutOfMemoryError,则文件仍为0字节。

我通过在代码运行时点击
Ctrl+C
来修复它。.jfr文件被填充,因此我可以读取它。如果我等待OutOfMemoryError,文件仍为0字节。

也可以使用jcmd JFR.dump filename=dump.JFR按需获取录制,或者您可以指定-XX:startLightRecording:duration=100s,录制将在100s后转储。也可以使用jcmd JFR.dump filename=dump.JFR按需获取录制,或者您可以指定-XX:StartFlightRecording:duration=100s,录制将在100s后转储。