簡體   English   中英

當我使用 Epsilon GC 時,我無法使用 Flight Recorder

[英]When I use Epsilon GC, I cannot use 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 字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM