京东JDK在大数据平台的探索与研究
对付CDS,JEP中的先容如下:
京东JDK引入了最新的JDK12中关于CDS的新特征 - Default CDS Archives。该成果在编译阶段天生默认的Archive,而且无需用户指定JVM选项-Xshare:auto即可享受到CDS带来的利益。 (9) 并行的高效JMap Java堆说明器材: JMap作为Java开拓职员常用器材,一样平常在观测OOM,查察堆工具漫衍时都能施展重要浸染。可是在一般事变中,发明对付大堆,譬喻堆内存设置为-Xmx200g时,在线上体系运行JMap histo时刻很是长,而且影响整个JVM历程的相应速率,一旦JVM历程被KILL,运行中JMap histo也无法提供有用信息。 颠末调研,JMap 器材在扫描Java堆时是单线程事变,而且只有在整个堆扫描完成时才会统计信息并输出。 针对JMap的题目,京东JDK团队对JMap举办了拓展,实现了其并行,增量式对扫描方案。对JMap histo在大堆上的扫描并行化,同时在运行中统计中间功效。使得JMap在200GB堆扫描机能晋升2倍,同时可以或许使JMap在运行进程中不绝输出中间功效,这样纵然JVM历程退出,JMap仍能提供有用的信息用于说明内存行使环境。 2. 京东JDK优化结果 颠末一系列的事变,今朝京东JDK已经顺遂应用于京东大数据平台HDFS的NameNode节点上,其对付打点结点优化到达50%, 见下图: 另一方面,JDJDK对付打点结点文件数承载手段从4亿上升到10亿,承载手段晋升1.5倍。缓解了营业方的需求,节减了人力。 针对G1GC 也做了相干优化, 优化后的G1GC 比拟之前JDK8的CMS的YoungGC停息时刻如下图: GC产生的次数对付如下: 在加/解锁及线程同步方面,京东JDK团队也举办了深入的研究及优化,除了上文提到的方向锁以外,还操作JVM 的instrumentation等器材,对锁相干的bytecode举办线上优化,针对差异的HDFS会见,优化结果如下: Mkdir: Delete: Getfileinfo: Rename: 五、京东JDK的成长偏向 在将来,京东JDK团队将越发注重于降本增效方面的事变,我们打算举办更多的实行及创新,譬喻:
同时,京东JDK团队也将起劲参加openJDK社区的开拓及研究事变,尽也许将京东JDK的特征孝顺到社区,让更多人可以或许行使到。 作者简介:臧琳,京东JVM专家,首要认真京东JDK针对京东大数据营业的定制化开拓及优化事变。专注于JVM中内存打点,runtime运行时以及JIT编译器的机能说明及优化等规模。 【本文来自51CTO专栏作者张开涛的微信公家号(开涛的博客),公家号id: kaitao-1234567】 戳这里,看该作者更多好文 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |