如何解决使用Epsilon GC时,无法使用Flight Recorder
我正在运行此命令
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:+UseEpsilonGC
时,Java默认为G1 GC。代码运行,飞行记录器将所有数据转储到文件中,我可以读取它。
为什么当我使用Epsilon时文件为空以及如何修复它。
在JDK 14 Windows 10上。
解决方法
我无法在Oracle JDK 14.02(Windows)上进行复制。
在转储记录之前,文件的大小为零,这是在JVM退出(正常情况下)时发生的,因此您需要等待。
如果应用程序由于OutOfMemoryError而终止,则无法保证记录,如果发生,则可能是紧急记录(可能缺少信息),并且使用前缀hs_oom_pid创建。
,我通过在代码运行时按Ctrl+C
来解决此问题。 .jfr文件被填充,因此我可以读取它。如果我等待OutOfMemoryError文件仍然为0字节。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。