ConcurrentLRUCache / HashMap когда-либо касается диска? - PullRequest
0 голосов
/ 06 февраля 2011

Большая активность на диске, пока я разогреваю кеш. Я не могу определить, выполняет ли org.apache.lucene ConcurrentLRUCache это или нет? (Рассматриваемый класс использует Java ConcurrentHashMap).

ТИА Rene

1 Ответ

0 голосов
/ 06 февраля 2011

Я бы сказал, что наиболее вероятной причиной является то, что прогрев вызывает много ошибок в кеше, и это заставляет Lucene выполнять множество запросов к дисковым индексам и т. Д. Другими словами, вы получаете то, что просили для.

Точки данных:

  • Класс Java ConcurrentHashMap не касается диска.

  • Исходный код для класса Lucene здесь (например), и он не ссылается на какие-либо классы, которые могут явно вызывать активность на диске ... кроме ведения журнала sfl4j.

Другие возможные причины дисковой активности во время «прогрева» могут включать:

  • загрузка классов Java (но в большинстве случаев это происходит за до прогрева кэша) или
  • перегруз виртуальной памяти из-за нехватки физической памяти.

Теоретически возможно, что Lucene сохраняет весь кеш, а Lucene загружает сериализованный кеш. Однако это звучит так ужасно, что я готов отказаться от нее. (Кроме того, это приведет к относительно небольшому количеству дисковой активности.)

...