gpt4 book ai didi

memory - elasticsearch-max_map_count与堆大小

转载 作者:行者123 更新时间:2023-12-02 22:23:38 25 4
gpt4 key购买 nike

我正在使用官方的Elasticsearch docker 形象。由于ES需要一定级别的内存映射区域(如documented),因此我使用

docker-machine ssh <NAME> sudo sysctl -w vm.max_map_count=262144

我还读了 here,分配的内存应约为系统总内存的50%。

我对这两个如何一起使用感到困惑。分配更多的内存映射区域如何影响分配的RAM。它是RAM的一部分,还是超过了RAM分配以进行Elasticsearch?

最佳答案

总而言之,堆仅由Elasticsearch使用,Lucene将使用内存的其余部分将索引文件直接映射到内存中,以实现快速访问。

这就是为什么最佳实践是将一半的内存分配给ES堆,而将剩余的一半分配给Lucene的主要原因。但是,还有另一种最佳做法是not allocate more than 32-ish GB of RAM到ES堆(有时甚至是less than 30B)。

因此,如果您有一台具有128GB RAM的计算机,则不会为ES分配64GB,但仍然最多可以有32 GB的GB,Lucene会愉快地吞噬所有剩余的96GB内存以映射其索引文件。

调整内存设置是一种合理的混合,可以为ES提供足够的内存(但不要过多),并确保通过使用尽可能多的剩余内存来确保Lucene能够正常工作。

关于memory - elasticsearch-max_map_count与堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40865208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com