美文网首页
Java服务为什么会挂掉?

Java服务为什么会挂掉?

作者: 爱学习的代代 | 来源:发表于2019-07-27 15:02 被阅读0次

背景:公司的一台Linux服务器上部署了很多Java服务(微服务的状态),有时候在测试项目的过程中会发现有些关联的Java服务不可用了?到底是什么原因呢?

类比联想一下,我们的手机在使用的过程中,打开了很多app,对于这些运行中的app,操作系统都要给它们分配内存,如果内存不够用操作系统就会杀掉一些进程,以释放内存空间给新的进程。

# There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 1786867712 bytes for committing reserved memory. # Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit # Possible solutions: # Reduce memory load on the system # Increase physical memory or swap space # Check if swap backing store is full # Use 64 bit Java on a 64 bit OS # Decrease Java heap size (-Xmx/-Xms) # Decrease number of Java threads # Decrease Java thread stack sizes (-Xss) # Set larger code cache with -XX:ReservedCodeCacheSize= # This output file may be truncated or incomplete. # # Out of Memory Error (os_linux.cpp:2673), pid=28610, tid=139813184919296 # # JRE version: Java(TM) SE Runtime Environment (8.0_40-b26) (build 1.8.0_40-b26) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode linux-amd64 compressed oops) #

结论:

JVM尝试去像操作系统申请一块内存超出系统的可使用(RSS)内存时, 此时linux会结束JAVA进程,并抛出如上错误。

如今微服务流行。很多进程同时在一台服务器上跑, 必须注意,分配给JAVA的内存只和一定在服务器的可用内存之内。不然很有可能突然被linux干掉一个进程。

扩展阅读:
Java服务挂掉
JVM内存分配

相关文章

  • Java 优雅退出

    前言 先思考几个问题 Java 服务为什么会挂掉? 什么情况 Java 进程会挂掉? Java 进程挂掉如何做优雅...

  • Java服务为什么会挂掉?

    背景:公司的一台Linux服务器上部署了很多Java服务(微服务的状态),有时候在测试项目的过程中会发现有些关联的...

  • 用gdb & strace追踪 jdk OOM bug

    现象 java应用的web服务器突然挂掉,无任何jvm相关日志,重启后不久再次挂掉 再次重启,不久后机器挂掉【机器...

  • crontab定时任务重启java服务不执行,单独运行sh生效

    场景描述 在centos 7上部署的java服务,有时会挂掉,为了能及时检测到服务运行状态以及及时拉起java服务...

  • 晁盖为什么会挂掉

    当晚造饭吃了,马摘铃,军衔枚,夜色将黑,便悄 悄地跟了两个僧人直奔法华寺来。晁盖看时,却是一座 古寺。晁盖下马,入...

  • 线上服务不可用

    线上java服务不可用,一般分两种情况: java进程挂掉 1. JVM异常退出 此类情况,会在java进程的启动...

  • mysql占用内存过高排查

    排查点:数据库配置,数据分区、定时事件、存储过程 触发原因:java服务莫名的挂掉了 机器信息:centos 7 ...

  • 地球会挂掉

    地球会挂掉,太阳会爆炸,宇宙会变冷,到最后什么都无所谓。你越能抽身,就能承受越多的事实。我们常有机会去体验各种感觉...

  • jdbc事务引起的db session问题

    从15年四月份开始,某项目组线上服务老反馈有服务挂掉问题,具体表现为服务不可用,但java进程是存活状态。经排...

  • 让脚本永远执行的脚本

    事情是这样子的,我有个服务使用 php 跑的,在服务器上一直跑。 跑段时间总是挂掉,原因是内存泄漏。 挂掉就挂掉呗...

网友评论

      本文标题:Java服务为什么会挂掉?

      本文链接:https://www.haomeiwen.com/subject/slkerctx.html