在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错误失败。