web-dev-qa-db-fra.com

Java programme se termine avec Java résultat: 137

J'ai un programme écrit en netbeans. Le programme a lu environ 1 000 000 de données de cassandra, les a traitées et a de nouveau écrit le résultat dans cassandra. mon programme durait environ 9 heures, mais soudain, il s'est terminé avec cette erreur ci-dessous:

Java result: 137

J'ai été lu que ces erreurs signifient (128 + signalnember). dans mon cas, signalnember = 9, c'est KILLSIGNAL. un organisme sait-il comment supprimer cette erreur? Aidez-moi, s'il vous plaît....

23
Anse danesh

S'il existe une configuration de cgroup limitant les ressources, elle peut tuer le processus si elle dépasse les limites (comme la mémoire consommée). Vérifiez si le service cgconfig est en cours d'exécution. Sur RHEL:

service cgconfig status

Vous pouvez également rechercher Java fichiers journaux de plantage hs_err_.log pour plus de détails.

7

Un code de sortie supérieur à 128 signifie que le processus est mort à cause d'un signal reçu (exitCode = 128 + signalNumber). ==> Dans votre cas, c'était le signal 9 (= SIGKILL

2
user2600629

Comme c'est un problème hors de mémoire, je diviserais simplement l'opération en morceaux si possible. Je devais le faire aujourd'hui, en fait, où je traitais environ 15 000 000 millions d'enregistrements aujourd'hui. Je viens de le séparer en morceaux de 250 000 en boucle et de vider mes tableaux.

0
user2600629