在Docker mem_limit中使用ArangoDb

我们现在正在使用arangodb作为一个非常小的图(60-100)节点,我们希望使用docker-compose中的mem_limit将docker容器的内存限制为1GB。

是否有可能configurationarangodb生活在这个限制?

我们很难find内存configuration文件,只有到目前为止https://www.arangodb.com/2016/03/put-arangodb-spartan-mode/ 。

你可以将任何可用的parameter passing给arangod ,像这样在Docker容器中运行:

 docker run \ -e ARANGO_RANDOM_ROOT_PASSWORD=1 \ -e ARANGO_STORAGE_ENGINE=rocksdb \ -p 8529:8529 \ -d arangodb \ \ arangod \ --log.file /var/log/arangodb3/arangod.log \ --foxx.queues false \ --rocksdb.block-cache-size 0 \ --cache.size 0 

并可以使用它来控制所有可用的arangodb参数。 要使用更less的内存,你可能会想使用rocksdb存储引擎。

您可能需要configurationrocksdb引擎,如禁用caching以减less内存占用,性能较差。 您也可以禁用也用于提高graphics遍历性能的caching 。

但是,没有办法将ArangoDB限制在一定量的内存中,并且通过从外部对它进行限制,可能会牺牲稳定性,因为它不能分配内存并导致OOM错误失败。