大量の REINDEXCOLLECTION リクエストの後に発生する可能性のある OOM(メモリ不足)リスク

(The bot translated the original post https://lists.apache.org/thread/659o55b4h633kc8j2krw40q35s8dbgjh into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは、皆さん。
私たちは Kubernetes 上で公式の Solr Operator 0.9.1 を使って Solr 9.8.1 を運用しています。
多くの非同期 REINDEXCOLLECTION リクエストを実行した後、RAM の使用量が大幅に増加する現象が発生しています。これ自体は驚くことではなく、また問題とも考えていませんが、リクエストが正常に完了した後もメモリ使用量が一定のままで減少しません。SolrCloud デプロイメントを手動で再起動するとこの問題は常に解消されるため、私としては、割り当てられたメモリブロックが正しく解放されていないか、あるいは解放自体は正しく行われているが、リクエスト完了後にヒープが断片化されすぎているのではないかと思っています。
実際、過去に何度か REINDEXCOLLECTION リクエストを繰り返し実行してヒープの割り当てが増え続けた際に、Pod を再起動しなかったために OOM(メモリ不足)クラッシュが発生しました。この場合、REINDEXCOLLECTION の非同期リクエストは中断され、手動での対応が必要となりました。
この RAM 割り当ての挙動は簡単に再現できますが、'jcmd' や 'jmap' を使って JVM のメモリダンプを作成する方法を調べたところ、現在の Solr Pod にインストールされているツールではヒープダンプの作成は簡単にはできないようです。ただ、私は Solr や Java エコシステムの専門家というわけではないので、もし Solr の開発チームが上記の RAM 使用量問題の原因を追跡できるようなメモリダンプを作成するための方法をご存知でしたら、ぜひご教示ください。
どうぞよろしくお願いいたします。
Florian Schieder
トピックへ返信するには、ログインが必要です。