http://managedruntime.org/很少了解压缩包中的确切内容以及用户为什么想要它们。 http://lwn.net/Articles/392307/包含更多详细信息,但是作者也不确定内存管理模块的实际作用。显然,高层目标是减少GC暂停,但是我对模块的功能以及为什么/如何改进功能的摘要感兴趣(指向)。特别棒的东西将是这些补丁有多大影响的指针(评估)。
最佳答案
Azul的Pauseless GC依赖于底层操作系统的内存管理系统。在Azul硬件上,这是由Azul的自定义内核(Aztec)执行的。在Linux上,内存管理系统需要每秒能够支持足够数量的内存管理操作,以便跟上每秒创建的垃圾量。当Azul员工将Azul JVM移植到Linux时,他们确定与Alztec相比,其内存管理API相对较慢,这仅仅是因为Linux的MM API从未打算支持像PGC之类的东西。 MRT补丁提高了Linux内核每秒可以处理的操作数量,从而支持PGC。
打个比方,是在Berkeley Sockets中增加了poll/select,在2001年晚些时候,将epoll添加到了Linux内核(http://www.xmailserver.org/linux-patches/nio-improve.html)。
[免责声明:即使我是Azul的前技术主管和现任技术顾问,我也不代表他们发言。