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后转储。