There is insufficient memory for the Java Runtime Environment to continue问题解决

Posted clnchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了There is insufficient memory for the Java Runtime Environment to continue问题解决相关的知识,希望对你有一定的参考价值。

在linux系统下长时间进行性能測试,连续几次发生server假死无法连接上的情况,无奈仅仅能重新启动server。在測试路径下发现hs_err_pid17285.log文件,打开文件查看其主要内容例如以下:

# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create GC thread. Out of system resources.
# 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 (gcTaskThread.cpp:46), pid=17285, tid=47629249568816
#
# JRE version: 6.0_43-b01
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.14-b01 mixed mode linux-amd64 compressed oops)

从日志中分析,可能原因有两个:

一、可能物理内存不足

二、在32位操作系统下,系统进程数达到上限了。

然后分析server内存,可用物理内存以及swap空间都足,够,做个猜想,问题可能发生在系统进程数达到上限。

通过命令查看系统限制:ulimit -a查看open files不够大,尝试通过设大该值:

1、vi  /etc/security/limits.conf

2、在文件最下方加上例如以下代码   * - nofile 278528   保存(已经设置得够大了)

此时通过ulimit -a或ulimit -n能够得到结果278528

在接下来的測试中经过观察,没有再发生服务假死不提供服务的情况,临时得到解决。























以上是关于There is insufficient memory for the Java Runtime Environment to continue问题解决的主要内容,如果未能解决你的问题,请参考以下文章

There is insufficient memory for the Java Runtime Environment to continue问题解决

Is there anybody in there?

Spirng 循环依赖报错:Is there an unresolvable circular reference?

Is there a difference between `==` and `is` in Python?

There is No Alternative~最小生成树变形

There is No Alternative CSU - 2097 最小生成树