zoukankan      html  css  js  c++  java
  • jvm 之 国际酒店 6月25日上线内存溢出原因

    625OMSIhotel上线成功后执行了一个批处理,SOA报警提示某一台IHOTEL机器调用OMS失败率大于阀值,登录这个机器后发现这台机器CPU使用率处于80%以上,调用OMS有的时候超过5秒。tomcat日志显示一直在执行fullGC.

    tomcat报错:

     

    后联系OPS重启这台机器上的tomcat,系统运行正常。

     

     

    错误原因分析:

    使用MAT分析java_pid20367.hprof文件

     

    pool-8-thread-2这个线程产生了占用了1.6GB的内存。造成下面的错误:

     

     

     

     

    这个线程在执行的操作是分页查询OMS,上面的日志显示在SOA调用OMS的时候,由于outOfMemerysoaclient抛出error异常,捕获后没有往外面抛出,因此此线程一直在执行,占用大量的内存【如果此异常抛出到最外层,此线程会终止,线程下面的堆内存也会被GC收回】。因此JVM大部分时间一直在执行FullGC操作,其他线程运行缓慢。最终只能重启tomcat

     

     

     
     
     
  • 相关阅读:
    gocurd案例
    Go module的介绍及使用
    shell脚本第二天
    shell脚本第一天
    php实现图片压缩
    Golang协程详解和应用
    layui的表格渲染方式
    layui-treetable使用
    模拟tp5.1加载自定义类
    多卡训练的state_dict
  • 原文地址:https://www.cnblogs.com/200911/p/4768784.html
Copyright © 2011-2022 走看看