我在我的 web 应用程序的 SOLR 之上使用 Sunspot (Ruby/Rails)。现在,当 SOLR 遇到 Java 堆空间时,我遇到了问题。我不知道如何找到 SOLR 索引大小?有没有办法从命令行找到这个?
3 回答
If you are looking for the physical on-disk size of the index, you can look at 'data/index' folder under 'dataDir' per the definition in solrconfig.xml. For eg. in example index, it is example/solr/data/index folder.
If you are looking for count of the documents, then you can either look at stats.jsp page or search for ":".
If you are looking for understanding memory usage, you can start with the stats.jsp - and look at document count, various field cache size etc.
I am afraid you will need to do more research to understand your memory requirements, profile the application and plan for capacity.
您遇到的问题是由于内存使用情况,而不是物理大小。如果您在 Windows 下运行 tomcat,则可以使用下图所示的 tomcat 监控工具修复此问题。我建议您根据硬件将 Solr 2048+ 作为最大值。这将解决您遇到的错误。如果您正在运行 linux,则需要编辑 java 选项以包含-xmx2048并重新启动 Tomcat。
如果您真的想查看索引的大小,另一种方法是将复制处理程序添加到您的“solrconfig.xml”中。这个处理程序允许您备份 Solr 数据,但也有一个漂亮的 gui,可以显示索引大小等。
<requestHandler name="/replication" class="solr.ReplicationHandler">
<str name="maxNumberOfBackups">1</str>
</requestHandler>
然后您可以访问http://[SolrServer]/solr/admin/replication/index.jsp在您的浏览器中查看索引大小。
if you want to see your memory consumption, I recommend you to use MAT Tool enjoy !:)