首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制停靠容器中的MarkLogic内存消耗

限制停靠容器中的MarkLogic内存消耗
EN

Stack Overflow用户
提问于 2021-10-21 09:52:13
回答 1查看 43关注 0票数 1

我正在工作的项目开发了一个在后端使用MarkLogic 9的Java服务。我们正在运行一个Jenkins build服务器,它执行(以及其他)用XQuery编写的MarkLogic中的几个测试。对于这些测试,MarkLogic在Jenkins主机(运行Ubuntu Linux)上的docker容器中运行。Jenkins主机配置了12 GB的RAM和8 GB的交换空间。最近,我注意到运行在容器中的MarkLogic实例使用了大量内存(高达10 GB)。由于经常有其他构建作业并行运行,Jenkins开始交换内存,有时甚至会耗尽所有交换空间,因此MarkLogic报告无法获得更多内存。显然,这种情况经常导致构建失败。

为了进一步分析这一点,我在运行Docker for Windows的PC上进行了一些测试,发现MarkLogic测试可以在5-6 GB内存的情况下成功运行。MarkLogic日志显示它看到了所有主机内存,并希望使用所有内存。但由于我们在该主机上运行了其他构建进程,因此这种行为是不可取的。

我的问题是:有没有可能告诉MarkLogic不要使用这么多内存?我们在构建期间准备docker镜像,因此我们可以修改一些配置,但必须以某种方式编写脚本。

EN

回答 1

Stack Overflow用户

发布于 2021-10-21 13:18:07

容器未正确检测内存限制的问题已经确定,应该在即将发布的版本中解决。

同时,您可以通过以下方式缓解此问题:

代码语言:javascript
复制
- [admin:group-set-cache-sizing](https://docs.marklogic.com/admin:group-set-cache-sizing)
- [admin:group-set-compressed-tree-cache-partitions](https://docs.marklogic.com/admin:group-set-compressed-tree-cache-partitions)
- [admin:group-set-compressed-tree-cache-size](https://docs.marklogic.com/admin:group-set-compressed-tree-cache-size)
- [admin:group-set-expanded-tree-cache-partitions](https://docs.marklogic.com/admin:group-set-expanded-tree-cache-partitions)
- [admin:group-set-expanded-tree-cache-size](https://docs.marklogic.com/admin:group-set-expanded-tree-cache-size)
- [admin:group-set-list-cache-partitions](https://docs.marklogic.com/admin:group-set-list-cache-partitions)
- [admin:group-set-list-cache-size](https://docs.marklogic.com/admin:group-set-list-cache-size)

指定内存支架中碎片的最大数量。内存中的支架包含任何新的或更改的片段的最新版本。定期将内存中的支架作为林中的新支架写入磁盘。此外,如果支架累积的碎片数量超过此限制,后台线程会自动将其保存到磁盘。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69659737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档