我们正在运行 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