あなたはarangodにarangod
に利用できる任意の引数を渡すことができますが、このようなドッキングウィンドウコンテナで実行されていました:
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パラメータを制御するためにそれを使用することができます。 メモリを少なくするには、おそらくrocksdbストレージエンジンを使いたいでしょう。
rocksdb engine, like disabling cachesを構成すると、パフォーマンスが低下してメモリフットプリントが小さくなることがあります。また、グラフトラバーサルのパフォーマンスを向上させるためにも使用されるdisable the cacheもあります。
しかし、ArangoDBを一定量のメモリに制限する方法はなく、外部から制限を設けることで、メモリを割り当てることができず、OOMエラーが発生しても安定性が犠牲になる可能性があります。
ありがとうございます。 Javaの世界から来て、私はヒープサイズの設定に慣れていますので、arangoのようなC++ベースのアプリケーションには慣れていません。私の理解を助けることができれば、本当に感謝します。ドックを外して、4GBのマシンにarangoを置くと、あまりにも多くのデータが取り込まれると死んでしまいますか、それとも4GB近くになったら何らかのメモリ管理を引き起こしますか?主な恐怖は、mem_limitを使用するとarangoからメモリ制限が隠され、死ぬことを知らないということです。ありがとう! –