ArangoDB如何确定有多少RAM可用?

qmelpv7a  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(153)

我们在AWS示例上的CoreOS Docker容器中运行ArangoDB。

此示例的内存约为1 GB。

但是,当我们加载ArangoDB前端时,它 * 认为 * 它有2 GB的RAM可用!x1c 0d1x
显然,它并没有 * 实际上 * 有这个内存可供它使用,因此崩溃10次,每天只要在内存阈值跨越甚至一点点超过1千兆位,我们的物理上有我们的盒子。
ArangoDB如何确定它有X数量的可用内存?在哪里可以更改此设置?

disho6za

disho6za1#

请在该容器上执行docker inspectHostConfig对象中将有一个Memory条目。它可能会读取"Memory": 1073741824,而"OomKillDisable": false
实际上,Memory: something限制了进程在容器中的驻留大小,如果超过了这个限制(并且不可能进行交换),进程将被关闭,如下所示:

"State": {
  ...
  "OOMKilled": true,
  ...
}

作为进程的arangod无法看到Docker容器的内存限制。我们看到主机的内存限制,可能比您的情况更高。唯一的选择是提高容器的限制或通过命令行选项限制arangod内存使用。

相关问题