内存不足导致SpringBoot应用程序被系统Kill

此篇主要记录平常工作中遇到的一些疑难问题

  1. 最近一台机器部署了3个SpringBoot应用之后,发现当中有应用会莫名其妙的被kill,而且没有任何日志JVM错误;本以为是内存溢出导致系统挂了,但是一直没有找到任何相关可用日志;

    最后通过以下命令查看了系统日志,发现是由于被系统Kill的,由于在申请内存的时候系统以及无法满足了,导致被kill; 阿里云的服务器,默认swap分区大小是0,然后应用在申请系统内存时,如果内存不足就会被系统直接kill 三种解决方案:

    1. 升级机器内存大小
    2. 添加swap分区大小
    3. 设置应用程序启动最大内存大小
    1
    cat /var/log/messages
    1
    2
    Nov  7 14:53:03 AliYunOS kernel: Killed process 11340, UID 0, (java) total-vm:5778380kB, anon-rss:1026616kB, file-rss:132kB
    Nov 7 14:53:03 AliYunOS kernel: Out of memory: Kill process 11340 (java) score 95 or sacrifice child
分享到 评论