2013-08-30 5 views
16

Ich habe ein Programm in Netbeans geschrieben. Das Programm liest etwa 1.000.000 Daten aus Cassandra, verarbeitet sie und schreibt das Ergebnis erneut in Cassandra. mein Programm wurde Bout 9 Stunden läuft, aber plötzlich wurde es mit diesem Balg Fehler beenden:Java-Programm mit Java beenden Ergebnis: 137

java result: 137 

ich, dass diese Fehlermittel (128 + signalnember) gelesen wurde. in meinem Fall signalnember = 9 ist das KILLSIGNAL. weiß irgendein Körper, wie ich diesen Fehler entfernen kann? bitte helfen Sie mir ....

+0

Hat jemand es getötet? – Paulpro

+0

Nein .. nicht jemand .. Ich weiß nicht, was ist das für ein Fehler .. nach ca. 9 Stunden mein Programm beendet und der obige Fehler zeigte sich mir ... Was soll ich tun? –

+0

Ich bin mir nicht sicher. Es ist unwahrscheinlich, dass das Kill-Signal vom Programm selbst stammt. In welcher Umgebung hast du es ausgeführt? – Paulpro

Antwort

0

Exit-Code über 128 bedeutet, dass der Prozess wegen eines empfangenen Signals (exitCode = 128 + signalNumber) gestorben ist. ==> In Ihrem Fall war es Signal 9 (= SIGKILL

+0

Ich weiß ... also was soll ich tun? Wenn ich mein Programm erneut laufe, ist es möglich, dass Fehler wieder auftreten? Wie kann ich den Fehler entfernen? –

+1

-1 ist, was sie in ihre Frage gestellt hat. – nachokk

0

Da es eine outofmemory Frage war ich würde die Operation nur in Stücke aufteilen, wenn möglich. Ich musste es heute tatsächlich tun, wo ich heute etwa 15.000.000.000 Datensätze verarbeitet wurde Ich zerbrach es nur in Stücke von 250.000 geloopt es und löschte meine Arrays.

4

Wenn es eine Konfiguration cgroup Begrenzung Ressourcen gibt es möglicherweise den Prozess zu töten, wenn wenn die Grenzen (wie verbrauchter Speicher) überschreitet. Überprüfen Sie, ob die cgconfig Service läuft: Auf RHEL:

service cgconfig status 

Sie Weitere Informationen finden Sie in der Java-Absturzprotokolldatei hs_err_.log.