I run 30 java applications in parallel on a server. Some applications crash during the run without any error log. Gernerated messages of the application are stored in a file (commandlineOutput.txt). But these files do not contain any information about the crash. I build the software on the server (excluding the used libs) using an ant build-file. Different java options have been tried but nothing helped trustworthy. But increasing the Heap-Memory had a positive effect on the stability. Currently I try these java options:
export _JAVA_OPTIONS='-Xms7g -Xmx7g -Xss128m -XX:ErrorFile=/path to the folder where the application results are saved/java_error%p.log'
The 30 applications are started like this:
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 &
A Snapshot (vmstat -s) of the memory (while the applications run) shows:
RAM: 264097056 K
Used RAM: 172826480 K
active RAM: 174423296 K
non-active RAM: 342224 K
The running system is:
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 version:
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)
Used librarys:
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
Has someone an idea where to find the crash log of the jvm or even an idea what causes the crash? I already searched in /tmp
and /var
but could not find anything.