There is insufficient memory for the Java Runtime Environment to continue

There is insufficient memory for the Java Runtime Environment to continue.

Problem

环境:Linux VM_43_129_centos 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Model name:            Intel(R) Xeon(R) CPU E5-26xx v3
Stepping:              2
CPU MHz:               2294.686
BogoMIPS:              4589.37
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0,1
  • Tomcat 启动报日志:

There is insufficient memory for the Java Runtime Environment to continue.

内存不够用了!。?,可是,那可是31个G呀~

  • free -h 查看内存使用情况:

可用内存仅剩305M

分析是tomcat项目启动太多

  • ps -ef |grep tomcat 查看Tomcat相关进程:

可以看到,Tomcat仍有多个进程在运行。

Solution

手动kill对应的pid,再次 free -h 查看内存使用情况:

可用内存瞬间恢复,尝试启动Tomcat,成功~

原文地址:https://www.cnblogs.com/jiawen010/p/11058975.html