Linux 系统内存不足导致 Java 进程被杀掉

问题描述

测试环境 Tomcat + Java 部署的应用,应用进程总是莫名其妙的消失。

正确的问题排查

查看 /var/log/message 出现如下日志,标明,Linux 系统自身把 Java 进程杀掉了

Jun 28 02:58:27 hilife-dev001 kernel: Out of memory: Kill process 14561 (java) score 52 or sacrifice child

当 Linux 系统内存不足时,系统会把当前系统占用系统内存过高的进程当做流氓进程,然后系统发出信号将这个流氓进程杀掉,最后导致 Java 应用服务不能使用

解决方法

方法1:通过调整 JVM 参数限制最大可使用内存

-Xmx2g

方法2:启用 swap 分区
参考:https://help.aliyun.com/knowledge_detail/42534.html
方法3:增加物理内存或增加机器
方法4:将应用分配到压力较小的服务器上

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值