接手一个老项目ssh+jdk6+tomcat6,年底申报信息的系统开始频繁使用了,之前没有暴露的问题显现出来了
1、系统页面的响应时间变的很长。
2、偶尔会卡死,但等一会就好了,隔几天会突然挂掉。
3、tomcat有时会有日志显示GC失败和OutOfMemoryError。
根据以上信息初步判断是内存溢出了,查看了tomcat访问的日志,查看了相关代码中有很多for循环里new对象的操作,更改代码之后重启服务,页面响应时间变短了,但是过了几天还是出现了OutOfMemoryError的提示,并且服务又宕机了。
我还是从tomcat日志中寻找原因,初步确定了可能几个方法造成的内存泄露,然后开始用top命令监控


top -Hp 31947


在系统响应非常慢而且cpu已经满了的时候,查看哪个线程消耗资源最大用命令
printf “%x\n” 31977
打印出16进制线程id,
./jstack 31977 | grep 7ce9或者./jstack -l 31977或者kill -3 31977
catalina.out出现堆栈信息

定位到了内存溢出的方法。
想要定位到内存溢出的方法,需要在cpu被占用很高时查找,有的时候找到的线程可能是jvm的GC线程,多打印几次日志就会找到问题线程方法.

Java中OutOfMemoryError(内存溢出)和Tomcat进程假死崩溃相关推荐

  1. Java中OutOfMemoryError(内存溢出)的三种情况及解决办法

    Java中OutOfMemoryError(内存溢出)的三种情况及解决办法 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各 ...

  2. Java中OutOfMemoryError(内存溢出)的原理及解决办法

    Java中的OutOfMemoryError,即内存溢出,而无论是哪种内存溢出,都可以通过增加对应JVM内存空间解决:即修改对应内存参数的大小 根据内存区域的不同,存在多种情况,下面介绍最常见的几种情 ...

  3. Java中OutOfMemoryError(内存溢出)的情况及解决办法

    java.lang.OutOfMemoryError: Java heap space // TODO Auto-generated method stubVector v = new Vector( ...

  4. ​Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子​

    作者 l 会点代码的大叔(CodeDaShu) JAVA中的内存溢出和内存泄露分别是什么,有什么联系和区别,让我们来看一看. 01 内存泄漏 & 内存溢出 1. 内存泄漏(memory lea ...

  5. Java中的内存溢出和内存泄漏

    内存泄漏是指程序在申请内存后,无法释放已申请的内存空间.内存溢出是指程序申请内存时,没有足够的内存供申请者使用:或者说提供一块存储int数据的存储空间,但存储了long数据,则结果是内存不够用,报错O ...

  6. java中之内存溢出说明

    java语句是编译型和解释型语言,选通过编译命令javac 把java文件编译为.class字节码文件,然后通过java虚拟机(JVM)加载class文件到内存运行. 而java虚拟机在运行程序时有自 ...

  7. java.lang.OutOfMemoryError内存溢出定位

    OM内存溢出定位 增加异常时记日志参数 -XX:+HeapDumpOnOutOfMemoryError 该参数在JVM内存溢出时会记录堆转储文件java_pid%p.hprof.(%p为进程号) -X ...

  8. Tomcat进程假死问题排查

    目录 1.网络 1.1 检查nginx的网络情况 1.2 检查tomcat的网络情况 2.Jvm内存溢出 2.1为什么会发生内存泄漏 2.2快速定位问题 2.3 jstack查看tomcat是否出现死 ...

  9. java 内存溢出和内存泄漏_JAVA中的内存溢出和内存泄漏有很大的区别

    JAVA中的内存溢出和内存泄漏分别是什么,有什么联系和区别,我谈谈自己的理解. 内存泄漏(memory leak ):申请了内存不释放,比如100m的内存,分配了10m的内存一直不回收,那么可以用的内 ...

最新文章

  1. 仅用 480 块 GPU 跑出万亿参数!全球首个“低碳版”巨模型 M6 来了
  2. .NET跨平台实践:.NetCore、.Net5/6 Linux守护进程设计
  3. unity3d 各个目录的意思
  4. 【计蒜客 - 程序设计竞赛】商业信息共享(Tarjan缩点)
  5. VC学习笔记:文本图形
  6. 事务学习总结(1)——事务的基本概念
  7. python称号_C 语言荣获 2019 年度最佳编程语言称号
  8. sap模块介绍_一分钟掌握SAP小知识-系统基本操作
  9. java RandomAccessFile类(随机访问文件)
  10. java中文网站总汇
  11. 谷歌浏览器插件安装方法 谷歌浏览器导入插件的步骤
  12. NLTK09《Python自然语言处理》code08 分析句子结构
  13. Java Day24
  14. git 常见错误 The remote end hung up unexpectedly
  15. CAD图如何导入Visio
  16. [bzoj1812][ioi2005]riv(树上dp)
  17. 企业选择服务器托管的优势
  18. js 数组的every() 方法
  19. CentOS7快速搭建DNS中转服务器
  20. 5G融合行业专网解决方案分析与研究

热门文章

  1. 如何找到浏览器扩展的安装位置
  2. Android 引导页开发管理2
  3. 论文阅读《Fast-MVSNet: Sparse-to-Dense Multi-View StereoWith Learned Propagation and Gauss-Newton Refine》
  4. vue3需要注意的小问题
  5. 多项式嵌套乘法及matlab实现
  6. 一些关于CV和deeplearning的干货链接(长期更新)
  7. VC++玩转Native Wifi API
  8. 图片转pdf用什么软件好?图片转pdf软件哪个好?
  9. Arduino - PC817C光耦
  10. python解椭圆方程的例题_《椭圆》方程典型例题20例(含标准答案)