欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-23 16:35:28
...

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.

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

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

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

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

可用内存仅剩550M!

Analysis

因为服务器上除了Java环境,MQMySQL服务外,基本没其他的主要服务了,怀疑是Tomcat没有关闭导致;

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

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

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

Solution

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

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

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

至于为何Tomcat在shutdown后依然有进程在运行,这个还需进一步探讨。


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!