java进程老挂掉_JAVA进程突然挂掉 - 1024菜bird的个人空间 - OSCHINA - 中文开源技术交流社区...

当Java进程尝试分配超过系统可用内存时,操作系统可能会杀死该进程。本文通过实例验证了Java进程在内存不足时的行为:超出堆内存限制只会抛出异常,但超出系统总内存(包括交换空间)则会导致进程被终止。在多服务共存的服务器上,合理分配JVM内存以避免进程意外终止至关重要。
摘要由CSDN通过智能技术生成

JVM内存不足导致进程死掉. Native memory allocation (mmap) failed to map

一台服务器上部署很多JAVA进程已经是微服务的常态,但也有些坑。

背景,测试服务器上的一些JAVA进程突然挂掉,查看call back的日志发现如下:

# 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 #

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值