关于Ubuntu 12.04/Java 1.7
我一直在阅读/搜索关于OOM杀手的内容,并且普遍理解"proc“手册页所写的内容,特别是oom_adj部件。这一切都是因为我的重要的"MQ侦听器“被杀死了。
我们有一个主侦听器进程,它侦听MQ消息,并使用相同的jar文件、不同的命令行参数生成一个新作业。它使用Runtime.getRuntime().exec来激发作业。
整个操作都是作为一个非常低权限的用户运行的--一个没有任何其他权限的用户。
我担心的是,监听器进程的OOM评分不断增加,因为它不断生成进程,并最终被杀死,前提是java exec调用在内部使用叉。
发布于 2015-11-12 07:49:26
使用oom_score_ajk来解决这个问题是一个不好的方法。即使您调整了OOM得分,也会有一些东西被杀死,最终它将是您不想死的东西( MQ侦听器或诸如syslog/cron这样的核心系统服务)。
解决问题的可靠解决方案是要么获得更多内存(RAM +交换),要么减少应用程序的内存使用量。
https://serverfault.com/questions/735716
复制相似问题