我有一个用netbeans编写的程序。该程序从cassandra读取大约100万条数据,对其进行处理,并将结果再次写入cassandra。我的程序运行了约9个小时,但突然出现以下错误而终止:
java result: 137
我读到这些错误意味着(128 + 信号数)。在我的情况下,信号数为9,也就是KILLSIGNAL。有人知道如何消除这个错误吗?请帮帮我....
我有一个用netbeans编写的程序。该程序从cassandra读取大约100万条数据,对其进行处理,并将结果再次写入cassandra。我的程序运行了约9个小时,但突然出现以下错误而终止:
java result: 137
我读到这些错误意味着(128 + 信号数)。在我的情况下,信号数为9,也就是KILLSIGNAL。有人知道如何消除这个错误吗?请帮帮我....
如果有cgroup配置限制资源,可能会在超过限制时杀死进程(如消耗的内存)。 请检查cgconfig服务是否正在运行。在RHEL上:
service cgconfig status
您还可以检查Java崩溃日志文件hs_err_.log以获取更多详细信息。
如果退出码大于128,则表示该进程由于收到信号而死亡(exitCode = 128 + signalNumber)。 ==> 在您的情况下,是信号9(= SIGKILL)导致进程死亡。
由于这是一个内存不足的问题,如果可能的话,建议将操作分成几个部分。事实上,今天我就必须这样做,因为我今天正在处理大约1500万条记录。我只是将它分成了250,000个块进行循环,然后清除了我的数组。