每日 Cron Job 终止 Java 应用程序

每日 Cron Job 终止 Java 应用程序

每天早上 06:25 之后,我的 Java Web 服务器应用程序就会崩溃。在系统日志中,我收到类似以下内容的信息:

Jan 20 06:25:09 qswp-portal kernel: [724576.041037] Out of memory: Kill process 21435 (java) score 199 or sacrifice child
Jan 20 06:25:09 qswp-portal kernel: [724576.043434] Killed process 21435 (java) total-vm:2266296kB, anon-rss:257212kB, file-rss:6232kB

该应用程序在一个非常小的盒子上运行,只有 512MB 的 RAM(带有 1GB 的交换空间),理想情况下,我想保持这种状态。

经过一番搜索后,我发现每日 cron 作业计划在 0625 运行,这大概就是原因(即同时发生太多事情,机器无法处理)。

我能做些什么来防止这种情况发生 - 也许是错开每日 cron 作业?是否有特定的每日 cron 作业可能会导致此问题?

这是一个相对较新的问题,似乎在更新后才开始发生(使用apt-get update)。不幸的是,我刚刚意识到这一点,所以我不确定哪个更新可能是问题所在(假设这不是巧合)。

free -h编辑:根据要求,这是正常负载下的输出。

              total        used        free      shared  buff/cache   available
Mem:           488M        335M         10M        2.9M        142M        122M
Swap:          1.0G         21M        1.0G

答案1

您的系统内存不足。请添加更多内存或找出哪些进程占用了内存(例如您的 java 进程),然后减少使用的内存量。

相关内容