http://managedruntime.org/关于 tarball 中的确切内容以及用户为何需要它们的内容非常少。 http://lwn.net/Articles/392307/有更多细节,但作者也不确定内存管理模块实际做什么。显然,高级目标是减少 GC 暂停,但我对(指向)模块所做的摘要以及为什么/如何改进事情感兴趣。特别棒的是可以指出这些补丁有多大影响(评估)。
最佳答案
Azul 的 Pauseless GC 依赖于底层操作系统的内存管理系统。在 Azul 硬件上,这是由 Azul 的自定义内核 (Aztec) 执行的。在 Linux 上,内存管理系统需要能够支持每秒足够数量的内存管理操作,以跟上每秒产生的垃圾量。当 Azul 人员将 Azul JVM 移植到 Linux 时,他们确定它的内存管理 API 与 Aztec 的相比相对较慢,如果仅仅是因为 Linux 的 MM API 从未打算支持 PGC 之类的东西。 MRT 补丁提高了 linux 内核每秒可以处理的操作数,从而支持 PGC。
一个类比是将 poll/select 添加到 Berkeley Sockets,然后在 2001 年将 epoll 添加到 linux 内核 (http://www.xmailserver.org/linux-patches/nio-improve.html)。
[免责声明:即使我是 Azul 的前技术主管和现任技术顾问,我也不代表他们]
关于java - Managed Runtime Initiative 的内核补丁和 JVM 中到底有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358545/