【发布时间】:2025-11-23 01:25:02
【问题描述】:
在我预热缓存时有很多磁盘活动。我无法确定 org.apache.lucene ConcurrentLRUCache 是否正在执行此操作? (有问题的类使用 Java ConcurrentHashMap)。
tia 雷内
【问题讨论】:
-
正在发布新问题。这个答案已经足够好了。
标签: java caching concurrenthashmap
在我预热缓存时有很多磁盘活动。我无法确定 org.apache.lucene ConcurrentLRUCache 是否正在执行此操作? (有问题的类使用 Java ConcurrentHashMap)。
tia 雷内
【问题讨论】:
标签: java caching concurrenthashmap
我想说最可能的原因是预热导致大量缓存未命中,这导致 Lucene 对其磁盘索引等进行大量查询。换句话说,您得到了您所要求的为。
数据点:
Java 类ConcurrentHashMap 不接触磁盘。
Lucene 类的源代码是here(例如),它没有引用任何可能明确导致磁盘活动的类...除了 sfl4j 日志记录。
“预热”期间磁盘活动的其他可能原因可能包括:
理论上有可能Lucene会持久化整个缓存,而Lucene正在加载序列化的缓存。然而,这听起来是一个可怕的想法,我已经准备好放弃它了。 (此外,这会导致相对少量的磁盘活动。)
【讨论】: