Azul开源Zing Jvm
4月末,继Zing 5.2 之后, Azul Systems宣布他们将无停顿(pauseless )的 Zing JVM提供给开源软件开发者和项目,以供开发和测试。
Azul Systems 工程部副总裁和合作创始人Shyam Pillalamarri向InfoQ说明道:
我们的部署很大一部分基于开源组件,所以我们认为:“假设我们不能将一些有价值的东西免费提供给开源项目贡献者,他们将一直受限于从Java虚拟机(JVM)视角所看到的内容”,他们将不会考虑额外的用例,或者选择其他能解决了所有内存或扩展性问题、类似Zing的系统。如果这样的话,他们会面临堆占用尺寸过大且没有下降趋势的问题。
这个想法产生于开源社区早期贡献者的经验。例如,Apache Lucene项目参与者及PMC项目成员Michael McCandless在 新闻稿中谈到:
Azul创新的Zing JVM和无停顿垃圾回收(GC)使Apache的 Lucene 项目开发者开始去研究需要大规模堆的事例(例如为了更快搜索将整个搜索索引存在内存中)。基于全维基百科英文站点的索引内存初步测试显示Zing真正实现了在管理140GB以上堆时不用暂停。
Clojure创始人Rich Hickey提到:
平衡不可变性以提高并发性和扩展性的的编码和架构策略使Zing JVM能很好地支持无任何中断或停顿的、持续的高对象分配率。Azul将Zing JVM开源,这为社区作出了杰出贡献。
除了在垃圾回收(GC)时不用停顿,Zing的GC收集器(详见 这里)设计的很健壮,能支持各种平台。这主要得益于受突变、碎片比率、堆大小、软引用、存活对象尺寸等因素影响较小。同样地,Zing很适合需要高内存占用、高事务率、稳定响应时间、高持续吞吐量的负载场景。同时5.2版本在性能上有了进一步优化,特别是在同步方法调用和对象共享上。
Zing基于Oracle HotSpot,针对Linux和x86平台进行了优化。5.2版本支持以下Linux发行版:
- Red Hat Enterprise Linux (5.2以上, 6.x)
- SUSE Linux Enterprise Server (SLES 11 sp1和sp2)
- CentOS (5.2以上, 6.x)
- Ubuntu Linux (10.04 LTS, 12.04 LTS) -Zing 5.2版本新支持的平台
JVM支持任何基于Java SE/EE 6的应用程序,不久将来会支持Java 7。
Zing JVM发行版同样包括了产品应用可视化工具,称做Zing Vision,它提供了以一套工具用以在不恶化潜在故障的前提下实时获取故障程序的信息。在5.2版本有一些功能上的增强,例如在安全的时刻去收集更多的垃圾回收统计数据。
想在开源项目中使用Zing的用户可以发邮件至 [email protected];获取免费技术支持可访问Azul开源项目社区支持论坛 http://www.azulsystems.com/developers/forum;如果发现问题可以访问 http://www.azulsystems.com/developers/bugzilla,当然他们也提供商业化支持。
英文原文: http://www.infoq.com/news/2012/08/azul-zing-free
感谢 侯伯薇对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至 [email protected]。也欢迎大家通过新浪微博( @InfoQ)或者腾讯微博( @InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。