咖啡因缓存中的最大伊甸园空间大小

时间:2016-01-12 11:26:14

标签: java caching caffeine

有没有办法在咖啡因缓存中配置最大的eden空间大小?如果没有,默认大小是多少? https://github.com/ben-manes/caffeine/blob/master/simulator/src/main/java/com/github/benmanes/caffeine/cache/simulator/policy/sketch/WindowTinyLfuPolicy.java

2 个答案:

答案 0 :(得分:1)

术语eden是从JVM世代垃圾收集器中借来的,其中大多数对象都很年轻而且没有被提升。我们后来决定window提出驱逐政策的名称(Window TinyLFU)。

simulator中,您可以通过修改configuration file中的percent-main来调整窗口大小。这使得在评估策略和调优选项的影响时,可以轻松地尝试不同的跟踪文件。

对于面向缓存的生产,窗口大小不是配置参数。该值硬编码为1%,在各种工作负载下接近最佳值,避免了TinyLFU的降级情况。在某些工作负载(OLTP磁盘跟踪)中,较大的值具有较小的增益,但不足以公开配置选项。通过混淆大多数用户和泄漏实施细节,这样做不会带来概念上的重要性。

答案 1 :(得分:0)

您可以使用以下参数在JVM的开头添加eden空间声明:

-XX:新尺寸=尺寸

-XX:MaxNewSize =大小

理想情况下,Eden space =总堆大小为3/8。