【问题标题】:Solr - Java heap space tuning for SitecoreSolr - Sitecore 的 Java 堆空间调整
【发布时间】:2018-07-22 21:45:26
【问题描述】:

在我们的 Sitecore 8.2 安装中,我们使用 Solr 5.1.0 作为索引系统。 最近我们遇到了一些这样的问题:

[sitecore_analytics_index] org.apache.solr.common.SolrException; org.apache.solr.common.SolrException:打开新搜索器时出错 引起:org.apache.lucene.store.AlreadyClosedException:这个 IndexWriter 已关闭 原因:java.lang.OutOfMemoryError: Java heap space

选择提供给 Solr 的堆阈值的正确方法是什么?

目前,在不同的内核中,唯一超过数百兆字节的是sitecore_analytics_index,其大小为 32.67 GB,具有以下特点:

  • 文档数:102015908
  • 最大文档:105114766
  • 堆内存使用:-1
  • 已删除文档:3098858
  • 版本:5563749
  • Impl:org.apache.solr.core.NRTCachingDirectoryFactory
  • org.apache.lucene.store.NRTCachingDirectory:​NRTCachingDirectory(lockFactory=org.apache.lucene.store.NativeFSLockFactory@​2e51764c;maxCacheMB=48.0 maxMergeSizeMB=4.0)

服务器有 6 GB 的 RAM,其中 4 GB 专用于 Java,在 JVM 的一些参数下方:

-XX:+CMSParallelRemarkEnabled-XX:+CMSScavengeBeforeRemark-XX:+ParallelRefProcEnabled-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintTenuringDistribution-XX :+UseCMSInitiatingOccupancyOnly-XX:+UseConcMarkSweepGC-XX:+UseParNewGC-XX:CMSInitiatingOccupancyFraction=50-XX:CMSMaxAbortablePrecleanTime=6000-XX:ConcGCThreads=4-XX:MaxTenuringThreshold=8-XX:NewRatio=3-XX:ParallelGCThreads=4- XX:PretenureSizeThreshold=64m-XX:SurvivorRatio=4-XX:TargetSurvivorRatio=90-Xms4G-Xmx4G-Xss256k-verbose:gc

根据这个数据量,堆的正确配置是什么?

【问题讨论】:

    标签: sitecore solr5 sitecore8.2


    【解决方案1】:

    在专用于服务器的 8-16 GB 内存中,分配给 JVM 的正确内存量应介于 6 到 12 GB 之间。

    您已经拥有一个大型分析索引,并且随着时间的推移它会增长得更多,因此,由于大量的索引写入和提交操作,您将继续体验高内存利用率。我建议您考虑分片您的大索引或使用 SolrCloud,它在您的 Sitecore 版本 8.2 的实验支持下,阅读更多 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多