JVM虚拟机有自己的垃圾回收机制,一般情况下无需担心内存溢出的问题。但不是绝对的无需担心。
       最近遇到一个服务器内存溢出问题,起因是使用了一个永不会关闭的线程,去做PDF上传下载,程序能正常运行一周,然后内存溢出。每日增量增加80多MB内存,并不会被GC回收。

内存溢出一般可能存在的情况:
       1、实例化对象太大,超出空闲内存
       2、读取文件等操作,一次加载全部,全加载到内存,超出内存范围
       3、静态域做缓存,静态变量不会被GC机制处理,即使内存溢出
       4、大量无效强引用对象,GC不会处理强引用对象,可达性算法也不会标记活跃对象。

 取样查看内存使用情况jstat -gcutil 28506(pid) 1000 5 间隔一秒,取五次jmap查看是否有jmap环境生成jvm快照jmap -dump:live,format=b,file=xx.hprof 28506(PID) 报以下错误:在语句中加-FUnable to open socket file :target process not responding or hotspot vm not loaded the -F  option can be used when the target process is not respondingjmap -F -dump:live,format=b,file=xx.hprof 28506(PID) 在内存溢出前生成JVM快照配置启动脚本中加export JAVA_OPTIONS="-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/usr/local/app/oom";nohup $JAVA_OPTIONS -jar xxxx &java -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/usr/local/app/oom -jar xxx

JVM内存溢出问题排查相关推荐

  1. jvm 内存溢出问题排查方法

    如果你做TCP通讯或者map集合操作,并发处理等功能时,很容易出现 Java 内存溢出的问题.本篇文章,带领大家深入jvm,分析并找出jvm内存溢出的代码. jvm中除了程序计数器,其他的区域都有可能 ...

  2. 生产环境 JVM 内存溢出案例分析

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:blog.csdn.net/prestigeding ...

  3. 生产环境JVM内存溢出案例分析

    如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢? 本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法. ...

  4. 生产环境JVM内存溢出案例分析!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Nginx 为什么快到根本停不下来? 个人原创100W+访问量博客:点击前往,查看更多 来源:blog.csdn ...

  5. java 内存溢出时打印_如何在JVM内存溢出的时候自动dump内存快照

    解决OOM问题的一个初步思路 首先第一个问题,假设发生OOM了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的. 既然是这个思路,要解决OOM ...

  6. Tomcat中JVM内存溢出及合理配置(转:http://blog.csdn.net/ye1992/article/details/9344807)

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  7. linux查看tomcat启动内存溢出,关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论-Fun言...

    一:乱码问题1(前端通过url方式传递中文参数后台收到的是????) 此为Tomcat根目录-conif-server.xml 中 connectionTimeout="20000″ red ...

  8. tomcat中 JVM 内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  9. 一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer

    一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer. 墨眉无锋墨家代码 2020-11-22 20:16:50 10525 收藏 56 分类专栏: Java ...

  10. Tomcat工作原理 、JVM内存溢出及合理配置、配置文件详解

    一 Tomcat工作原理 Server 要完成的任务很简单,就是要能够提供一个接口让其它程序能够访问到这个 Service 集合.同时要维护它所包含的所有 Service 的生命周期,包括如何初始化. ...

最新文章

  1. 自己试验写的一个文本转语音的一个小程序
  2. iOS 代理设计模式
  3. PhoneGap工作原理及需改进的地方(转)
  4. mysql命令大全_Keeplived+mysql双master高可用如何实现?
  5. 保存jpg太大怎么办_[日本清酒小知识] 清酒可以放多久?应该怎样保存呢?——清酒保存指南(收藏版)...
  6. Python之定义可变参数
  7. 微信小程序密码显示隐藏(小眼睛)
  8. 大数运算python编程实现
  9. MySQL必知必会——数据库基础知识和MySQL基本使用
  10. 单片机学习知识点全攻略
  11. linux上创建loopback接口,在python中的特定接口的linux loopback接口
  12. 电脑win10系统如何开定位服务器,Win10系统定位功能如何打开 Win10系统定位打开方法...
  13. 【MFC进阶】05文件处理CFile
  14. 一进二出宿舍限电模块的基本功能
  15. css针对IE单独设置样式
  16. 怎么配置java环境
  17. Common-pool源码编译——小例子
  18. 越疆dobot机械臂_Dobot机械臂魔术师系类
  19. Unity Excel转Json小工具excel2json
  20. sklearn中的决策树(分类)

热门文章

  1. c51汇编语言循环指令,汇编语言循环指令loop
  2. 前端实现打印页面的指定内容 + 快递面单的模板
  3. Layabox3d入门游戏视频教程
  4. oracle10g在win10上的安装
  5. 壳的概念、LordPE的使用、C#读取PE文件初步
  6. 惠普局域网共享打印机设置_HP LaserJet 1020局域网共享打印实操
  7. HPlaserjet1020打印机无法识别
  8. IP纯真数据库不同系统环境下版本
  9. 千方百剂医药管理系统对接第三方WMS系统(天力士物流)
  10. 如何把后缀为.mdf的文件打开