Я бы сказал, что наиболее вероятной причиной является то, что прогрев вызывает много ошибок в кеше, и это заставляет Lucene выполнять множество запросов к дисковым индексам и т. Д. Другими словами, вы получаете то, что просили для.
Точки данных:
Класс Java ConcurrentHashMap
не касается диска.
Исходный код для класса Lucene здесь (например), и он не ссылается на какие-либо классы, которые могут явно вызывать активность на диске ... кроме ведения журнала sfl4j.
Другие возможные причины дисковой активности во время «прогрева» могут включать:
- загрузка классов Java (но в большинстве случаев это происходит за до прогрева кэша) или
- перегруз виртуальной памяти из-за нехватки физической памяти.
Теоретически возможно, что Lucene сохраняет весь кеш, а Lucene загружает сериализованный кеш. Однако это звучит так ужасно, что я готов отказаться от нее. (Кроме того, это приведет к относительно небольшому количеству дисковой активности.)