5回复
3年前
java进程无法启动
背景:从这几天开始,我的linux开发机Java服务一个个被系统kill掉,我看了系统日志都是OOM导致的。现在我启动java进程如果设置初始堆过大就启动不了了。
我用通常的排查手段看不出来,开发机是一台虚拟机(感觉不排除虚拟机所在物理机的问题,同事机器和我同时申请的,也有这个问题),总共内存大概6G,uff/cache
+free
总共5G左右。感谢大家,帮忙看下。
启动时候crash日志在附件里,系统信息和jdk信息都在里面:
hs_err_pid7617.log
启动日志:
[~ jdk1.8.0_281]$java -Xms1000m -version
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000a5400000, 699400192, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 699400192 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/hs_err_pid7617.log
另外,内存结果如下:
[~ jdk1.8.0_281]$free -h
total used free shared buff/cache available
Mem: 5.7G 502M 213M 4.6G 5.0G 328M
Swap: 0B 0B 0B
io情况如下:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.03 2.77 0.84 2.80 48.95 97.58 80.57 0.05 22.14 65.48 9.22 0.55 0.20
scd0 0.00 0.00 0.00 0.00 0.01 0.00 66.96 0.00 0.34 0.34 0.00 0.24 0.00
3285 阅读