在NixOS Linux上,Java虚拟机在没有错误日志的情况下崩溃

在NixOS Linux上,Java虚拟机在没有错误日志的情况下崩溃,java,jvm-arguments,nixos,jvm-crash,java-12,Java,Jvm Arguments,Nixos,Jvm Crash,Java 12,我在一台服务器上并行运行30个java应用程序。一些应用程序在运行期间崩溃,没有任何错误日志。应用程序的生成消息存储在一个文件(commandlineOutput.txt)中。但这些文件不包含任何有关崩溃的信息。我使用ant构建文件在服务器上构建软件(不包括使用的libs)。已经尝试了不同的java选项,但没有任何值得信赖的帮助。但是增加堆内存对稳定性有积极的影响。目前我尝试以下java选项: export _JAVA_OPTIONS='-Xms7g -Xmx7g -Xss128m -XX:Er

我在一台服务器上并行运行30个java应用程序。一些应用程序在运行期间崩溃,没有任何错误日志。应用程序的生成消息存储在一个文件(commandlineOutput.txt)中。但这些文件不包含任何有关崩溃的信息。我使用ant构建文件在服务器上构建软件(不包括使用的libs)。已经尝试了不同的java选项,但没有任何值得信赖的帮助。但是增加堆内存对稳定性有积极的影响。目前我尝试以下java选项:

export _JAVA_OPTIONS='-Xms7g -Xmx7g -Xss128m -XX:ErrorFile=/path to the folder where the application results are saved/java_error%p.log'
30个应用程序的启动方式如下:

PATHPREFIX="path to the folder where the application results are saved"
ant -Dstring_prompt="$PATHPREFIX/sim_1/config.txt" "SimulationModel (customscenario)" > $PATHPREFIX/sim_1/commandlineOutput.txt &
...
ant -Dstring_prompt="$PATHPREFIX/sim_30/config.txt" "SimulationModel (customscenario)" > $PATHPREFIX/sim_30/commandlineOutput.txt &
内存快照(vmstat-s)(应用程序运行时)显示:

运行系统为:

    CPU model/make: AMD Opteron(TM) Processor 6276
          CPU Core: 64
   Thread per core: 2
               RAM: 264097056 K

  Operating System: NixOS 18.09.2574.a7e559a5504 (Jellyfish)
            Kernel: Linux 4.14.118
      Architecture: x86-64
  
Java版本:

java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
二手图书馆:

junit-4.13.jar
combinatoricslib3-3.3.0.jar
combinatoricslib3-3.3.0-javadoc.jar
mason.20.jar
opencsv-5.1.jar
jfreechart-1.0.14
jgrapht-0.9.1
commons-lang3-3.10.jar
commons-lang3-3.10-javadoc.jar

有人知道在哪里可以找到jvm的崩溃日志,甚至知道是什么导致了崩溃吗?我已经在
/tmp
/var
中搜索过了,但是没有找到任何东西。

sim\N/commandlineOutput.txt文件不应该包含什么吗?您正在使用“>”输出重定向,它应该同时重定向stdin和stderrun。它包含应用程序的输出,但结束时没有错误信息。我还检查了是否将错误消息传递给commandlineOutput.txt。因此,我引发了NullPointerException和堆外异常。这两个都在commandlineOutput.txt中正确报告。“sim_N/commandlineOutput.txt”文件不应该包含一些内容吗?您正在使用“>”输出重定向,它应该同时重定向stdin和stderrun。它包含应用程序的输出,但结束时没有错误信息。我还检查了是否将错误消息传递给commandlineOutput.txt。因此,我引发了NullPointerException和堆外异常。在commandlineOutput.txt中正确报告了这两种情况。
junit-4.13.jar
combinatoricslib3-3.3.0.jar
combinatoricslib3-3.3.0-javadoc.jar
mason.20.jar
opencsv-5.1.jar
jfreechart-1.0.14
jgrapht-0.9.1
commons-lang3-3.10.jar
commons-lang3-3.10-javadoc.jar