0

我们正在运行 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.small 机器
  • 操作系统:Ubuntu 16.04
  • 您机器中的总内存:2GB。但是,容器的限制是 1.2GB
  • 使用磁盘:SSD
  • 使用的包:Docker
4

1 回答 1

0

如果您在配置文件 arangodb.conf(来源:https ://github.com/arangodb/arangodb/issues/5414 )中混合了带有注释的设置,则会出现一个已知问题

这是他们谈论解决方案的部分:https ://github.com/arangodb/arangodb/issues/5414#issuecomment-498287668

我认为语法配置文件语法不支持诸如

块缓存大小 = 268435456 # 256M

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

块缓存大小 = 268435456256000000,这比预期的要高。

只需删除评论,然后重试!

于 2020-02-06T22:15:35.420 回答