【问题标题】:ArangoDB Single Instance as a Docker Container Fills memory and restartsArangoDB 单实例作为 Docker 容器填充内存并重新启动
【发布时间】:2020-02-06 13:34:03
【问题描述】:

我们正在运行 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
  • 您机器中的总 RAM:2GB。但是,容器的限制是 1.2GB
  • 正在使用的磁盘:SSD
  • 使用过的包:Docker

【问题讨论】:

    标签: docker arangodb arangojs


    【解决方案1】:

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

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

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

    之类的行

    块缓存大小 = 268435456 # 256M

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

    block-cache-size = 268435456256000000,远高于预期。

    只需删除 cmets,然后重试!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-21
      • 1970-01-01
      • 2022-11-09
      • 2016-09-25
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 2021-07-16
      相关资源
      最近更新 更多