From fb75150319fab0385bc62bb55c6e69c9a600c643 Mon Sep 17 00:00:00 2001 From: huangyi Date: Fri, 26 Jul 2024 12:26:44 +0800 Subject: [PATCH 1/2] Problem: memory leak in archive node - Suspect large `application.db` - try cache index/filters --- CHANGELOG.md | 1 + cmd/cronosd/opendb/opendb_rocksdb.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd8cfc8382..5fda99365f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ * [#1500](https://github.com/crypto-org-chain/cronos/pull/1500), [#1503](https://github.com/crypto-org-chain/cronos/pull/1503) Set mempool MaxTx from config (with a default value of `3000`). * (store) [#1511](https://github.com/crypto-org-chain/cronos/pull/1511) Upgrade rocksdb to `v9.2.1`. * (block-stm) [#1515](https://github.com/crypto-org-chain/cronos/pull/1515) Improve performance by cache signature verification result between incarnations of same tx. +* (store) [#]() Cache index/filters in rocksdb application.db to reduce ram usage. ### Bug Fixes diff --git a/cmd/cronosd/opendb/opendb_rocksdb.go b/cmd/cronosd/opendb/opendb_rocksdb.go index 12220c068f..1fdf01bd20 100644 --- a/cmd/cronosd/opendb/opendb_rocksdb.go +++ b/cmd/cronosd/opendb/opendb_rocksdb.go @@ -110,6 +110,10 @@ func NewRocksdbOptions(opts *grocksdb.Options, sstFileWriter bool) *grocksdb.Opt bbto.SetPartitionFilters(true) bbto.SetOptimizeFiltersForMemory(true) + // reduce memory usage + bbto.SetCacheIndexAndFilterBlocks(true) + bbto.SetPinTopLevelIndexAndFilter(true) + // hash index is better for iavl tree which mostly do point lookup. bbto.SetDataBlockIndexType(grocksdb.KDataBlockIndexTypeBinarySearchAndHash) From 479b6b8ed62fe4e021aa8785f4f77d3bf0339893 Mon Sep 17 00:00:00 2001 From: yihuang Date: Fri, 26 Jul 2024 12:27:49 +0800 Subject: [PATCH 2/2] Update CHANGELOG.md Signed-off-by: yihuang --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fda99365f..98a2837a72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,7 +25,7 @@ * [#1500](https://github.com/crypto-org-chain/cronos/pull/1500), [#1503](https://github.com/crypto-org-chain/cronos/pull/1503) Set mempool MaxTx from config (with a default value of `3000`). * (store) [#1511](https://github.com/crypto-org-chain/cronos/pull/1511) Upgrade rocksdb to `v9.2.1`. * (block-stm) [#1515](https://github.com/crypto-org-chain/cronos/pull/1515) Improve performance by cache signature verification result between incarnations of same tx. -* (store) [#]() Cache index/filters in rocksdb application.db to reduce ram usage. +* (store) [#1526](https://github.com/crypto-org-chain/cronos/pull/1526) Cache index/filters in rocksdb application.db to reduce ram usage. ### Bug Fixes