浅析HotSpot内存管理与工具要点.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析HotSpot内存管理与分析工具 蒋运军 2014-4-15 Java运行数据区 Java运行数据区-虚拟机栈 平时工作中能接触到栈帧吗? Java运行数据区-方法区 用于存放类的结构信息,包含运行时常量池(Runtime Constant Pool)、字段和方法数据、构造函数和普通方法的字节码内容等 HotSpot内存管理-分代管理 分代理论依据:weak generational hypothesis(弱代假说) 大多数对象早死 老对象很少引用新对象. HotSpot将堆分为新生代,老年代 方法区由持久代实现 HotSpot内存管理-新生代 为什么新生代是长这个样子的呢? 因为新生代的对象98%都是朝生夕死,采用复制算法效率最高 Eden分配空间采用bump-the-pointer TLAB(Thread-Local Allocation Buffers) HotSpot内存管理-老年代 什么情况下新生代对象会进入老年代呢? 足够老 minorGC时Survivor区域无法容纳 实例化大对象时 HotSpot垃圾收集 什么是垃圾? 通过可达性分析,确定哪些对象不可达即为垃圾对象 HotSpot垃圾收集器-串行收集器 串行收集器(Serial)采用串行的方式垃圾收集,适用于新生代,老年代,持久代的垃圾收集 在垃圾收集期间,stop-the-world。 HotSpot垃圾收集器-并行收集器 ParNew收集器是Serial的多线程版本,用于新生代垃圾回收 Parallel Scavenge收集器也是并行的多线程新生代收集器,由于其关注点在于吞吐量,又称之为吞吐量收集器,收集器通过动态调整新生代中Eden和Survivor比例以达到最大GC暂停时间,吞吐量指标 Parallel Old收集器用于老年代或者持久代的并行的多线程收集器 HotSpot垃圾收集器-并发收集器 HotSpot垃圾收集器-CMS收集器 HotSpot垃圾收集器-G1 管理整个GC堆 整个GC堆被划分为大小相等的region 在垃圾回收时优先回收利用价值大的region,即能释放出更大的内存空间 并行与并发 可预测的停顿 命令行分析工具 Jps(JVM Process Status Tool) 功能类似于linux系统中的ps Jmap 用于获取heap快照,堆信息,持久代信息等 Jstat(JVM Statistics Monitoring Tool) 用于监控虚拟机的各种运行状态 jinfo 实时地查看和调整虚拟机各项参数 jhat 分析堆快照的工具 可视化分析工具 Jconsole JvisualVM MAT 案例分析-网站宕机 背景:2013年11月网站宕机,resin假死无响应 现象: 原因: 爬虫太厉害了—确实比较厉害 通过threaddump得知活动线程增加真实原因 案例分析-加盟店商品同步 负载: 原因:系统运行久了越跑越慢,重启就貌似负载下来了 通过heapdump分析 FAQ FAQ 参考资料 JVM: 《java虚拟机规范》 《深入java虚拟机》 《深入理解java虚拟机:jvm高级特性与最佳实践》 /technetwork/java/javase/memorymanagement-whitepaper-150215.pdf /technetwork/java/javase/gc-tuning-6-140523.html GC: ????/technetwork/java/javase/tech/index-jsp-140228.html ????G1:/docsGarbage-First-Low-Latency-High-Throughput-Garbage-Collection ? ? ? ? ? ? ? ?/technetwork/java/javase/tech/g1-intro-jsp-135488.html ? ? ? ? ? ? /cn/articles/jdk7-garbage-first-collector#anch75994 分析工具: ????/javase/1.5.0/docs/tooldocs/ ? ? mat:/kepler/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Fwelcome.htmlcp=38 最后 有空可以多参加社区活动 OpenPartyChengdu Qclub WinClub 双周组织一次交流活动 非正式 技术,生活,游戏。。。。 最最后 给大家分享一个Thoughtworks员工分享的看书路线 多看书多分享还是很有好处的 谢谢大家

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档