java应用高内存占用
在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应用高内存占用相关推荐
- java cpu 内存使用情况_java高cpu占用和高内存占用问题排查 (转)
高cpu占用 1.top命令:Linux命令.可以查看实时的CPU使用情况.也可以查看最近一段时间的CPU使用情况. 2.PS命令:Linux命令.强大的进程状态监控命令.可以查看进程以及进程中线程的 ...
- 线上Java 高CPU占用、高内存占用排查思路
一.前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统 ...
- Java线上应用故障排查之二:高内存占用
前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查. 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGe ...
- Java线上应用故障排查之一:高内存占用
Java线上应用故障排查之一:高内存占用 转载地址:http://www.blogjava.net/hankchen 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMe ...
- 线上应用故障排查之二:高内存占用
为什么80%的码农都做不了架构师?>>> 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2 ...
- linux VIRT内存占太大,Java top VIRT 内存占用有关问题
Java top VIRT 内存占用问题 问题描述: 服务器运行在虚拟机上,系统为小红帽,发布了四个java通讯程序,四个java程序VIRT 非常大,16G的内存,剩余内存只有83M,虚拟机平台经常 ...
- Windbg分析高内存占用问题
1. 问题简介 最近产品发布大版本补丁更新,一商超客户升级后,反馈系统经常奔溃,导致超市的收银系统无法正常收银,现场排队付款的顾客更是抱怨声声.为了缓解现场的情况, 客户都是手动回收IIS应用程序池才 ...
- 高内存占用或高CPU占解决办法
服务性能排查一般就两种:高内存占用或高CPU占用,需要具体问题具体分析.比如应用程序高内存占用,可能因为大文件读取.频繁IO,内存消耗频繁,导致频繁GC,进一步占用内存和CPU:比如应用程序高CPU占 ...
- java 查看对象内存占用大小
1.POM 依赖 <dependency><groupId>com.carrotsearch</groupId><artifactId>java-siz ...
最新文章
- SpringBoot第七篇:springboot开启声明式事务
- 管家服务器未显示数据库启动,服务器受到后缀为gupwp的**,10年数据库等大神解救...
- python2中如何得到一级域名
- 机器学习算法及实战——朴素贝叶斯
- 一次绕过360+诺顿的提权过程
- 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过
- Android 四大组件 与 MVC 架构模式
- (47)Verilog HDL UART接收设计
- C语言之10/16进制字符串和数字转换(四)
- Linux命令----rpm
- 【花瓣网】花瓣网练习-首页的静态页
- 光驱放入空盘,出现无法访问函数不正确(收藏)
- JAVA计算机毕业设计教育培训机构信息管理系统Mybatis+系统+数据库+调试部署
- eclipse 上传代码到github,我花费了一个月测的。就这样了
- 10个致工程师在工作中快速成长的技巧
- SQL Server数据库开发
- 计算机网络实验3.1.3·CHAP 鉴别配置
- 目标检测:树莓派运行YOLOv5,成功运行,附完整镜像源
- Google Maps API –地图类型示例
- 成都理工大学计算机基础考试题型,成都理工大学计算机基础作业.doc
热门文章
- Python 库安装提示:ModuleNotFoundError: No module named ‘windows‘. 问题解决方法
- chrome 技巧篇-如何查看web元素绑定的监听事件
- esp8266 wifi模组入网案例
- 用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that
- Python中使用多重继承
- 如何将Pytorch生成的模型进行CPU部署
- vue-route+webpack部署单页路由项目,访问刷新出现404问题
- SVN删除服务器端项目文件
- Springboot 简单的定时器
- 某县百姓百事110便民服务管理系统(1)——项目总结