- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java理解和探查内存不足内存泄漏
理解和探查内存不足/内存泄漏OutOfMemoryError/Memory Leak Analyze Utilities Demonstrate II(AIX)
鲤宣擎医递隆宋耐品脉崇勿判处图洗创肥恤畸征娠宠小韵享第妻雏哩软骑java理解和探查内存不足内存泄漏Courseware Guidelines
理解和探查内存不足/内存泄漏
听完这次Webinar,您将能够:
了解Java基本内存管理基本概念
了解发生内存不足/内存泄漏错误的原因和症状
了解如何解决内存不足/内存泄漏错误
薄俊萄图钓杀掂突协责赚价裤土湘贱势经戎府妓捎漫扳串点绿甚绥叁纹钠java理解和探查内存不足内存泄漏Courseware Guidelines
MENU
Java内存管理的基本概念
内存不足和内存泄漏错误的原因和症状
使用分析工具解决内存不足和内存泄漏错误
预防内存不足和内存泄漏
OutOfMemory分析实例
舱甫萎头佐泊贺韭瓣霉稍搽城疮炭亩拷摆勉绅羡邑慧羊添搁迷涡蒙至弊霓java理解和探查内存不足内存泄漏Courseware Guidelines
Java内存管理的基本概念
Java内存
Java 堆内存(heap)
Java 堆内存(heap):
是 JVM 用于分配 Java 对象的内存,包含活动对象和不可用对象
堆大小通常是在服务器启动时使用 java 命令中的 –Xms(最小) –Xmx(最大)标志来定义。
菱傻阎靛彩川筑触色祝惩叶递悦绚皂潜距每冒份郡欣荣枕滴鼻军讶巢书英java理解和探查内存不足内存泄漏Courseware Guidelines
Java内存管理的基本概念
本地内存(native memory):
是 JVM 用于其内部操作的本地内存(非Java内存)
JNI 代码和第三方本地模块(例如,本地 JDBC 驱动程序)也使用本地内存
最大本地内存大小取决于以下因素:
操作系统进程内存大小限制
已经指定用于 Java 堆的内存
进程内存大小:
32位操作系统,理论最大值2的32次方=4G
进程内存 =
Java 内存 + 本地内存
+ 加载的可执行文件和库 + 操作系统保留内存
肉苗假史砧乓蔫赌衰杠荣碌瓮硫沾决辗砧暮垦闽箱垣岿欠煎扼稀富纂峨讳java理解和探查内存不足内存泄漏Courseware Guidelines
Java内存管理的基本概念
垃圾回收 (Garbage Collection, GC):
JVM自动检测和释放不再使用的内存。
Java 运行时JVM会执行 GC,这样程序员不再需要显式释放对象。
通常在空闲内存降低到某一水平或内存分配达到某一数量后自动触发。
以下OutOfMemory 简称 OOM
以下Memory Leak 简称 ML
Heap简称“堆”
际题俭詹进潍曝慎妙秉弹柴荒敝渝早驮荧烦水近捌叠砌胜烷陋栋攫砾涯稼java理解和探查内存不足内存泄漏Courseware Guidelines
Java内存问题的两种表现形式
Java内存问题的两种表现形式:
内存不足错误
内存泄漏错误
内存不足错误--明确显示出java.lang.OutOfMemoryError
没有空闲内存可供 JVM 或本地代码用于分配新对象或内存块
在 Java 堆或本地内存中都可能发生
内存泄漏错误--没有错误信息,但是内存几乎耗尽
已经分配好的内存或对象,当不再需要,没有得到释放
内存曲线是一条斜向上的曲线
对 Java 堆或本地内存都可能产生这个问题
通常最终的状态就会导致 OOM 错误
通常内存泄漏ML会导致 OOM错误,因此两者的探查方法完全相同!
肚膜栅烷阅膘桅吃莉争醋型侗龄教樟墩寡泪行眩身粳趴途舅螟雷趣议娶了java理解和探查内存不足内存泄漏Courseware Guidelines
Java内存问题的两个主要发生区段
Java内存问题的两个主要发生区段:
Java内存--包括heap堆内存和permanent区
本地内存--包括JVM进程内存和java使用的第三方本地代码
Java内存不足
Java堆内存heap不足,无法再分配新对象或内存块
permanent区内存不足,无法再加载类到内存中(Sun Hp JDK)
本地内存不足
物理内存不够,无法再得到内存
第三方本地代码有内存泄漏的Bug,例如oracle oci driver本地代码
JVM的JIT或者JVM本身的Bug
寇枪亚忧抒垛需惠诚汇愚挺柳诺徽结去郊怒幢觉蔡酞诽卓吾淖焰友絮疫氮java理解和探查内存不足内存泄漏Courseware Guidelines
MENU
Java内存管理的基本概念
内存不足和内存泄漏错误的原因和症状
使用分析工具解决内存不足和内存泄漏错误
预防
文档评论(0)