ArangoDB单个实例作为Docker容器填充内存并重新启动

ArangoDB单个实例作为Docker容器填充内存并重新启动,docker,arangodb,arangojs,Docker,Arangodb,Arangojs,我们正在运行ArangoDBv3.5.2。Docker容器意外地以随机间隔重新启动,并且所有连接的客户端都断开连接。经过进一步调查,我们发现运行Arango的Docker容器正在完全到达分配给它的内存。自容器开始运行以来,内存一直以增量的方式被填满,并且它永远不会下降,直到它被填满并且容器重新启动 下面是用于运行容器的docker命令 docker run -d --name test -v /mnt/test:/var/lib/arangodb3 --restart always --memo

我们正在运行ArangoDB
v3.5.2
。Docker容器意外地以随机间隔重新启动,并且所有连接的客户端都断开连接。经过进一步调查,我们发现运行Arango的Docker容器正在完全到达分配给它的内存。自容器开始运行以来,内存一直以增量的方式被填满,并且它永远不会下降,直到它被填满并且容器重新启动

下面是用于运行容器的docker命令

docker run -d --name test -v /mnt/test:/var/lib/arangodb3 --restart always --memory="1200m" --cpus="1.5" -p 8529:8529 --log-driver="awslogs" --log-opt awslogs-region="eu-west-1" --log-opt awslogs-group="/docker/test" -e ARANGO_RANDOM_ROOT_PASSWORD=1 -e ARANGO_STORAGE_ENGINE=rocksdb arangodb/arangodb:3.5.2 --log.level queries=warn --log.level performance=warn --rocksdb.block-cache-size 256MiB --rocksdb.enforce-block-cache-size-limit true --rocksdb.total-write-buffer-size 256MiB --cache.size 256MiB
为什么内存一直在增加而没有下降,特别是当它没有被使用的时候?我如何解决这个问题

我的环境
  • ArangoDB版本:3.5.2
  • 存储引擎:RocksDB
  • 部署模式:单服务器
  • 部署策略:在Docker中手动启动
  • 配置
  • 基础设施:AWS t3a.小型机器
  • 操作系统:Ubuntu 16.04
  • 计算机中的总RAM:2GB。但是,容器的限制是1.2GB
  • 正在使用的磁盘:SSD
  • 二手包装:Docker

如果您在配置文件arangodb.conf(来源:)中有混合设置和注释,则存在已知问题

下面是他们讨论解决方案的部分:

我认为syntax config file语法不支持以下行

块缓存大小=268435456#256M

我认为这实际上会被解释为

块缓存大小=2684354562560000,远高于预期值

只需删除评论,然后重试