在java虚拟机中,内存分为三个代:新生代(New), 老生代(Old)、永久代(Perm)

新生代: 新建的对象都存放这里
老生代:存放从新生代中迁移过来的生命周期较久的对象。新生代和老生代共同组成了堆内存
永久代:非堆内存组成部分。主要加载的Class类级对象和class本身,method,field等等

如果出现java.lang.OutOfMemoryError: Java heap space异常,说明堆内存不够
原因有二:
  (1)Java虚拟机的堆内存设置不够,可以通过参数-Xms、-Xmx来调整。
  (2)代码中创建了大量大对象,并且长时间不能被垃圾收集器收集(存在被引用)。

出现java.lang.OutOfMemoryError: PermGen space,说明是永久代Perm内存设置不够。
  一般出现这种情况,都是程序启动需要加载大量的第三方jar包
  例如:在一个Tomcat下部署了太多的应用。

java.lang.OutOfMemoryError: Java heap space异常故障排查,下面是分析排查步骤

1、通过top命令找出内存占用高的java进程(M键按内存排序)

2、使用jmap -histo:live [pid] 分析具体的对象数目和占用内存大小,从而定位代码

注意:使用jmap命令会进行一次fgc

转载于:https://www.cnblogs.com/sellsa/p/8931266.html

java应用高内存占用相关推荐

  1. java cpu 内存使用情况_java高cpu占用和高内存占用问题排查 (转)

    高cpu占用 1.top命令:Linux命令.可以查看实时的CPU使用情况.也可以查看最近一段时间的CPU使用情况. 2.PS命令:Linux命令.强大的进程状态监控命令.可以查看进程以及进程中线程的 ...

  2. 线上Java 高CPU占用、高内存占用排查思路

    一.前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统 ...

  3. Java线上应用故障排查之二:高内存占用

    前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查. 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGe ...

  4. Java线上应用故障排查之一:高内存占用

    Java线上应用故障排查之一:高内存占用 转载地址:http://www.blogjava.net/hankchen 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMe ...

  5. 线上应用故障排查之二:高内存占用

    为什么80%的码农都做不了架构师?>>>    搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2 ...

  6. linux VIRT内存占太大,Java top VIRT 内存占用有关问题

    Java top VIRT 内存占用问题 问题描述: 服务器运行在虚拟机上,系统为小红帽,发布了四个java通讯程序,四个java程序VIRT 非常大,16G的内存,剩余内存只有83M,虚拟机平台经常 ...

  7. Windbg分析高内存占用问题

    1. 问题简介 最近产品发布大版本补丁更新,一商超客户升级后,反馈系统经常奔溃,导致超市的收银系统无法正常收银,现场排队付款的顾客更是抱怨声声.为了缓解现场的情况, 客户都是手动回收IIS应用程序池才 ...

  8. 高内存占用或高CPU占解决办法

    服务性能排查一般就两种:高内存占用或高CPU占用,需要具体问题具体分析.比如应用程序高内存占用,可能因为大文件读取.频繁IO,内存消耗频繁,导致频繁GC,进一步占用内存和CPU:比如应用程序高CPU占 ...

  9. java 查看对象内存占用大小

    1.POM 依赖 <dependency><groupId>com.carrotsearch</groupId><artifactId>java-siz ...

最新文章

  1. SpringBoot第七篇:springboot开启声明式事务
  2. 管家服务器未显示数据库启动,服务器受到后缀为gupwp的**,10年数据库等大神解救...
  3. python2中如何得到一级域名
  4. 机器学习算法及实战——朴素贝叶斯
  5. 一次绕过360+诺顿的提权过程
  6. 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过
  7. Android 四大组件 与 MVC 架构模式
  8. (47)Verilog HDL UART接收设计
  9. C语言之10/16进制字符串和数字转换(四)
  10. Linux命令----rpm
  11. 【花瓣网】花瓣网练习-首页的静态页
  12. 光驱放入空盘,出现无法访问函数不正确(收藏)
  13. JAVA计算机毕业设计教育培训机构信息管理系统Mybatis+系统+数据库+调试部署
  14. eclipse 上传代码到github,我花费了一个月测的。就这样了
  15. 10个致工程师在工作中快速成长的技巧
  16. SQL Server数据库开发
  17. 计算机网络实验3.1.3·CHAP 鉴别配置
  18. 目标检测:树莓派运行YOLOv5,成功运行,附完整镜像源
  19. Google Maps API –地图类型示例
  20. 成都理工大学计算机基础考试题型,成都理工大学计算机基础作业.doc

热门文章

  1. Python 库安装提示:ModuleNotFoundError: No module named ‘windows‘. 问题解决方法
  2. chrome 技巧篇-如何查看web元素绑定的监听事件
  3. esp8266 wifi模组入网案例
  4. 用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that
  5. Python中使用多重继承
  6. 如何将Pytorch生成的模型进行CPU部署
  7. vue-route+webpack部署单页路由项目,访问刷新出现404问题
  8. SVN删除服务器端项目文件
  9. Springboot 简单的定时器
  10. 某县百姓百事110便民服务管理系统(1)——项目总结