我有一个用netbeans编写的程序。该程序从cassandra读取大约1,000,000个数据,处理它们并再次将结果写入cassandra。我的程序运行了大约9个小时,但突然它终止了这个波纹管错误:
java result: 137
我读到这些错误意味着(128 + signalnember)。在我的情况下signalnember = 9即KILLSIGNAL。有没有人知道如何删除此错误? 请帮帮我....
答案 0 :(得分:6)
如果存在限制资源的cgroup配置,如果超出限制(如消耗的内存),则可能会终止该进程。 检查cgconfig服务是否正在运行。在RHEL上:
service cgconfig status
您还可以检查Java崩溃日志文件hs_err_.log以获取更多详细信息。
答案 1 :(得分:2)
128以上的退出代码意味着该进程因收到而死亡 signal(exitCode = 128 + signalNumber)。 ==>在你的情况下,它是信号9(= SIGKILL
答案 2 :(得分:0)
由于它是一个内存问题,我会尽可能将操作拆分成碎片。我今天必须这样做,实际上我今天处理了大约15,000,000,000条记录。我把它分成了250,000块,然后清理了我的阵列。