Ubuntu Solr JVM内存和MMapDirectory

Ubuntu Solr JVM内存和MMapDirectory,ubuntu,memory,solr,jvm,Ubuntu,Memory,Solr,Jvm,我继承了一个Solr配置,在进行一些更新之前,我正在做一些健全性检查,我关心的是内存设置 该系统在2个Ubuntu 64位节点的2个分片中有1个索引,每个节点有32个CPU内核和132GB RAM,我们每天索引大约500k个文件,每10分钟分批分发一次,其中一部分是对现有内容的更新,可能是5-10%。当前MergeFactor设置为2,提交设置为: <autoCommit> <maxTime>60000</maxTime> <openSe

我继承了一个Solr配置,在进行一些更新之前,我正在做一些健全性检查,我关心的是内存设置

该系统在2个Ubuntu 64位节点的2个分片中有1个索引,每个节点有32个CPU内核和132GB RAM,我们每天索引大约500k个文件,每10分钟分批分发一次,其中一部分是对现有内容的更新,可能是5-10%。当前MergeFactor设置为2,提交设置为:

<autoCommit>
    <maxTime>60000</maxTime>
    <openSearcher>false</openSearcher>
</autoCommit>
<autoSoftCommit>
    <maxTime>900000</maxTime>
</autoSoftCommit>

60000
假的
900000
目前,每个节点中有大约2500万个文档,索引大小为45GB,我们每隔几周就对数据进行一次修剪,因此每个节点的文档数永远不会超过3500万个

在阅读中,我看到一个建议,我们应该使用MMapDirectory,目前它设置为NRTCachingDirectoryFactory。但是,目前JVM配置为-Xmx131072m,对于我读到的MMapDirectory,您应该为JVM使用更少的内存,以便为OS缓存提供更多可用内存

查看JVM内存使用情况中的仪表板,我看到:

我不确定我是否理解这3个波段,假设127.81是最大值,深灰色目前正在使用,浅灰色的分配与以前使用的一样,但尚未清理

我试图了解这是否有助于我了解将Xmx更改为多少是一个好值,即基于浅灰色的64GB

另外,一旦我更改了最大堆大小,是将配置更改为使用MMapDirectory的简单情况,还是有什么需要注意的

谢谢


可能晚了。但总比没有好

该图告诉您,您的SOLR实例使用了20G,已在max 68G中使用,并且可以使用128G堆。-Xmx的合理值可能是32G。 有关MMAPdirectory的详细信息,请参阅