并行实时垃圾回收与基于区域的内存管理
1. 并行实时垃圾回收(Parallel RTGC)
1.1 配置方法
- 基于时间的方法 :需要知道最大内存使用量和最大分配速率(如每秒兆字节)。利用这些值,可以配置堆大小和垃圾收集器的时间片,以确保垃圾收集器总能跟上应用程序的内存需求。
- 基于工作的方法 :配置相对简单,不需要分配速率信息。因为基于工作的垃圾收集工作调度会在分配速率高时自动增加垃圾收集工作。只需了解应用程序的最大堆使用量,就可以设置堆大小,使每次分配所需的垃圾收集工作量可接受,且较大的堆大小会减少每单位内存分配的垃圾收集工作量。
- 多核系统的组合方案 :在多核系统中,基于时间和基于工作的方案组合可能更有意义。原本空闲的 CPU 可用于持续执行垃圾收集工作。只要该工作足以满足应用程序当前的内存使用和分配速率,就无需在分配时进行额外的垃圾收集工作;若不足,则可采用基于工作的方法作为后备。
1.2 相关工作
- 早期研究 :并发和增量标记 - 清除垃圾收集的早期工作可追溯到 70 年代,Dijkstra 和 Steele 做出了重要贡献。Baker 提出了第一个增量复制收集器。
- 负载均衡 :Halstead 的 Multilisp 实现了增量并行 GC,但未解决负载均衡问题。Endo 提出了不同变异处理器之间的负载均衡方法,每个进程维护一个灰色集的本地子集,分为本
超级会员免费看
订阅专栏 解锁全文
176万+

被折叠的 条评论
为什么被折叠?



