zoukankan      html  css  js  c++  java
  • 记一次jvm oom 导致docker容器频繁重启问题排查

    应用部署在docker容器中,日志无报错,docker却有多次重启记录,Nginx监控报警

    过程:

    1.执行top命令查看内存占用情况

      

     很干净的容器,只有java进程在运行

    2.查看jvm情况

      2.1 查看heap堆大小,可以使用jinfo -flags PID 查看

    或者使用jmap -heap PID 查看结果更清晰些

       2.2 查看垃圾回收情况jstat -gcutil PID [3s] 每三秒打印一次

     

    修改启动参数-Xmn 2048m 一般为heap堆大小的1/2或者1/4

    常用启动参数 -server -Xmx4000m -Xms1500m -Xmn1024m

     不生效,导出堆文件。使用mat分析内存文件,查看是什么对象,占有内存。http://www.eclipse.org/mat/downloads.php

    本次是因为session超时设置为1天,且内网安全扫描,会生成大量session,导致大量session不过期,内存占用一直增加。

    将session调整为30min后,解决问题。

  • 相关阅读:
    Seial port API and tool
    Simple HTTPD
    VC与Cygwin的结合
    zlib
    嵌入式开发系统编程文件格式解析
    ZB4O
    Wireshark基本介绍和学习TCP三次握手
    freeware
    Console2 A Better Windows Command Prompt
    iniparser
  • 原文地址:https://www.cnblogs.com/BigWrite/p/13803803.html
Copyright © 2011-2022 走看看