0

キャッシュをウォームアップしている間、多くのディスク アクティビティが発生します。org.apache.lucene ConcurrentLRUCache がそれを実行しているかどうかを判断できませんか? (問題のクラスは Java ConcurrentHashMap を使用します)。

ティア・ルネ

4

1 に答える 1

0

最も可能性の高い原因は、ウォームアップによって多くのキャッシュ ミスが発生し、Lucene がディスク インデックスなどに対して多くのクエリを実行することです。

データポイント:

  • Java クラスConcurrentHashMapはディスクに触れません。

  • Lucene クラスのソース コードはここにあり(たとえば)、ディスク アクティビティを明示的に引き起こす可能性のあるクラスは参照していません。sfl4j のログ記録は別として。

「ウォームアップ」中のディスク アクティビティのその他の考えられる原因には、次のようなものがあります。

  • Java クラスのロード (ただし、ほとんどの場合、キャッシュのウォームアップの前に発生します)、または
  • 物理メモリ不足による仮想メモリのスラッシング。

理論的には、Lucene がキャッシュ全体を保持し、Lucene がシリアライズされたキャッシュをロードしている可能性があります。しかし、それは非常にひどい考えに聞こえるので、私はそれをすぐに却下する準備ができています. (さらに、これにより、比較的少量のディスク アクティビティが発生します。)

于 2011-02-06T05:03:23.453 に答える