我一直在研究一個大的Java應用程序。它非常平行,並且使用了幾個fixedThreadPools(每個都有8個線程)。我在一臺有2個內核的計算機上運行它,每個內核有4個處理器。我的程序正在分析大量的數據,並且每次設置後都會保存(序列化)分析,儘管它可以跨數據集使用,並且每次運行一個新的(然後保存)時都會重新加載。 我的問題是:在運行4-5個數據集(大約需要2天,我對編碼效率非常滿意)之後,它會在第五組完全相同的時間量之後崩潰(不管哪些數據設置我使用)。該程序是重複性的,因此目前代碼中沒有新的內容。它是可重複的,我不知道該怎麼做。我可以發佈完整的錯誤日誌,如果這可以幫助...我明白,這個問題是不明確的,沒有更多的詳細信息,但如果有任何指導意見,將不勝感激。Java應用程序崩潰
我一直在測試不同的設置,以查看是否有幫助,現在我正在運行以下參數。
-Xmx6g -Xmx12g -XX:+ UnlockExperimentalVMOptions -XX:+ UseG1GC
謝謝, 喬
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000000000000, pid=18454, tid=140120548144896
#
# JRE version: 7.0_03-b147
# Java VM: OpenJDK 64-Bit Server VM (22.0-b10 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea7 2.1.1pre
# Distribution: Ubuntu precise (development branch), package 7~u3-2.1.1~pre1-1ubuntu2
# Problematic frame:
# C 0x0000000000000000
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
#
也許-XX:+ UnlockExperimentalVMOptions -XX:+ UseG1GC不是這麼好的diea? – bmargulies
如果可能的話,我會考慮升級你的java版本。如果您的代碼真的可重複,您也可以考慮使用您的代碼向Sun/Oracle提交錯誤。 – Gray
我有使用G1收集器的JVM崩潰 –