1. ホーム
  2. Java

Java Runtime Environmentを継続するためのメモリが不足しています。

2022-02-17 16:45:55
<パス

問題点

環境 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起動エラー、ログを表示します。
Java Runtime Environmentを続行するためのメモリが不足しています。


メモリが足りません! でも、8ギガだもんね~。

  • free -h メモリ使用量を表示する。


空きメモリはあと550M!

分析

サーバーには何もないため Java 環境では MQ は、その MySQL のサービスがあり、それ以外の主要なサービスは基本的になく、その疑いがあります。 Tomcat は閉じていない。

  • ps -ef |grep tomcat Tomcat関連のプロセスを表示する。


ご覧の通り、Tomcatはまだ複数のプロセスを走らせています。

解決方法

対応するpidを再度手動でkillする free -h メモリ使用量を表示する。


瞬時に空きメモリが復活し、Tomcatを起動してみると、成功〜。

Tomcatがシャットダウン後もプロセスを走らせている理由については、さらに調査する必要があります。


ご不明な点、バグが見つかった場合は、お気軽にご連絡ください。

皆様のご意見・ご感想をお待ちしております。