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 的用户可以发邮件至 zing_oss@azulsystems.com ;获取免费技术支持可访问 Azul 开源项目社区支持论坛 http://www.azulsystems.com/developers/forum ;如果发现问题可以访问 http://www.azulsystems.com/developers/bugzilla ,当然他们也提供商业化支持。
英文原文: http://www.infoq.com/news/2012/08/azul-zing-free
感谢侯伯薇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论