美文网首页程序员
生产环境Tomcat启动失败

生产环境Tomcat启动失败

作者: seventeencm | 来源:发表于2018-03-09 20:52 被阅读0次

起因

今天企业微信应用一直在发警报,某个采购商不接收我们的回调数据.他们开发又没有时间处理该问题.只有对该采购商的回调回写的数据不作判断了.于是快速定位代码,加入判断逻辑语句.测试无问题,可以发布到线上了.

打开Jenkins,爽快输入账号密码,点击发布.然而,tomcat停止后再也没有起来.

疑问

一直以来,使用Jenkins发布是没有任何问题的啊;会不会有是代码有问题.于是快速回滚线上代码.然而tomcat还是起不来.

先不管那么多,先看看tomcat的日志

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c8000000, 805306368, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 805306368 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/hs_err_pid9230.log

一看,才知道内存不够,所以起不来:Cannot allocate memory;

使用 free -mh 命令一看,果然剩下可用内存: 150M.

因是生产环境的发单业务,故先把自用的Admin给停了,保证发单业务正常运行.

重启tomcat, 此时业务日志已正常输出.

总结

重启服务的时候,不能单单看业务日志,还要看tomcat的启动日志.这样才能快速定位问题所在.而在此事件中,我仅仅是看业务日志,一开始还以为是业务日志的路径定位到错的位置了.找来找去,浪费7 8分钟.

相关文章

网友评论

    本文标题:生产环境Tomcat启动失败

    本文链接:https://www.haomeiwen.com/subject/tnumfftx.html