1.1亿条数据, tikv-server内存占 20.4g, 正常吗

【 TiDB 使用环境】测试
【 TiDB 版本】6.4.0
【复现路径】1.1亿条数据, tikv-server内存占 20.4g, 正常吗
【遇到的问题:问题现象及影响】
【资源配置】32核 48g内存
【附件:截图/日志/监控】

那得看你行多长了吧,1亿多条数据,20g算正常吧。

才5个字段, 数据应该不是全写到内存的呀

你可以看下 storage.block-cache.capacity 设置多少。

感觉这个语句 提取的数据都集中在这个tikv节点了,建议看下热点数据,可以split下

数据库有1.1亿条数据,和tikv-server内存使用量,这两个没有必然的联系,不管有多少数据,要是不使用,也不会太消耗你的内存,只是存在磁盘上。如果单个tikv的内存高,就得看看是不是数据不均衡了

这个是默认的, 好像是1G

[storage.block-cache]

是否为 RocksDB 的所有 CF 都创建一个 shared block cache

RocksDB 使用 block cache 来缓存未压缩的数据块。较大的 block cache 可以加快读取速度。

推荐开启 shared block cache 参数。这样只需要设置全部缓存大小,使配置过程更加方便。

在大多数情况下,可以通过 LRU 算法在各 CF 间自动平衡缓存用量。

storage.block-cache 会话中的其余配置仅在开启 shared block cache 时起作用。

shared = true

shared block cache 的大小。正常情况下应设置为系统全部内存的 30%-50%。

如果未设置该参数,则由以下字段或其默认值的总和决定。

* rocksdb.defaultcf.block-cache-size 或系统全部内存的 25%

* rocksdb.writecf.block-cache-size 或系统全部内存的 15%

* rocksdb.lockcf.block-cache-size 或系统全部内存的 2%

* raftdb.defaultcf.block-cache-size 或系统全部内存的 2%

要在单个物理机上部署多个 TiKV 节点,需要显式配置该参数。

否则,TiKV 中可能会出现 OOM 错误。

capacity = “1GB”

1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。