Apache Solr - 物理メモリがデータインポート時に速すぎる

夜間にdataimportコマンドを実行しています(127.0.0.1:8983/solr/dataimport?command=full-import)

数日後、私は自分のsolr管理パネルを見て、物理メモリは4GB以上です。インデックスを削除して(データディレクトリ内のすべてのファイルを削除して)、データインポートを実行すると、物理メモリは1.1GBに減少します。削除しないと、物理メモリは非常に高速で増加します。

clean = trueのような追加のパラメータが必要ですか?基本的にデータディレクトリを削除してから、物理メモリをできるだけ少なくするために完全インポートを実行することと同じであるcronタスクを実行したい。

私はsolr 4.0のデフォルトのキャッシュ設定を使用しています。



1024









true

20
200



  
    <!--
       solrprice asc
       rocksweight asc
      -->
  


  
    
      static firstSearcher warming in solrconfig.xml
    
  


false

2


3
フルインポートの場合、 clean = true がデフォルトです。こちらをご覧ください: wiki.apache.org/solr/DataImportHandler#Commands メモリは、完全なインポートだけではなく、さまざまな側面で消費される可能性があります。あなたのsolrconfig.xmlのキャッシュ設定と127.0.0.1:8983/solr/admin/stats.jspのキャッシュ統計を確認できますか?
追加された 著者 arun,
すべての "Solr-managed"キャッシュが正常であるようです。あまりにも多くのメモリを消費するSolrの頻繁な原因は、fieldCache( wiki.apache.org/solr/SolrCaching#The_Lucene_FieldCache )を使用して設定することはできません。 fieldCacheは、フィールドをソートするときに値が設定されます。アプリケーションがあまりにも多くのフィールド(特にダイナミックフィールド)でソートしている場合、このキャッシュはメモリを消費する可能性があります。統計ページでfieldCacheの entries_count insanity_count を確認してください。
追加された 著者 arun,
インデックスを削除してデータのインポートを実行すると、importコマンドを実行する前にjetty(または使用しているコンテナ)を再起動しますか?コンテナを再起動すると、fieldCacheを含むすべてのキャッシュが削除され、Solrがメモリを少なくして起動する理由が説明されます。しかし、キャッシュにデータが入ると、より多くのメモリが消費されます。
追加された 著者 arun,
私はあなたが桟橋を再起動せずにキャッシュを削除できるとは思わない。 fieldCacheは、ソートフィールドごとに1つのエントリを保持します。異なるフィールド(特に動的フィールド)でソートしている多くのクエリを実行すると、そのフィールドに値が設定され、メモリ例外が発生し始めます。あなたのベスト・ベットは、あなたのスキーマを修正することです。あなたは stackoverflow.com/questions/13393248/…
追加された 著者 arun,
私は統計をチェックした。私は何を探していますか?私は、データディレクトリの削除と再インポートに相当する機能を内蔵していない理由は非常に混乱しています。
追加された 著者 Stokes003,
はい、私はJettyを再起動します。それはそうでなければなりません。 cronからキャッシュを削除する方法はありますか?
追加された 著者 Stokes003,

答えはありません

0