tomcat关闭报错:error='Cannot allocat

2018-05-24  本文已影响0人  hellohuan

最近在使用 tomcat 的时候,总是在shutdown出现error='Cannot allocate memory' (errno=12)错误。起初只当是偶然因素引起的,所以没有重视。可是后来发现每次都会出现这个错误,所以这次决心找到原因解决。

第一步

首先观察报错信息如下:

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000eaaa0000, 357957632, 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 357957632 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/gaea/tomcat-api/hs_err_pid14638.log

看#里面的内容,主要表达:Java 运行所需内存不足,本地内存分配为提交保留的内存分配失败。看到这里,突然想到之前在 catalinn.sh 中更改过虚拟机的启动参数,如下:

JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K"

第二步

分析错误信息:

第三步

既然知道了问题的原因,解决起来就比较方便了,直接在 catalina.sh 中将虚拟机启动参数修改如下:

JAVA_OPTS="-Xms512m -Xmx512m -Xss1024K"

这样就解决问题了。

思考

通过上诉问题的解决,可以得出结论:

版权声明:本文为博主原创文章,未经博主允许不得转载。
https://www.jianshu.com/p/08ca8dc4b5f0

上一篇 下一篇

猜你喜欢

热点阅读