tidb-server内存方面的问题

tidb-server的内存,目前我了解的只有这个参数:tidb_mem_quota_query====>每条SQL占用缓存的大小
是否还有其它的内存配置,类似于mysql的buffer_pool?

tidb_mem_oom_action====>如果每条SQK占用缓存的大小超过tidb_mem_quota_query值的时候,由此参数控制具体是取消还是继续使用

tidb_server_memory_limit

还有这个参数

  • 该变量指定 TiDB 实例的内存限制。TiDB 会在内存用量达到该限制时,对当前内存用量最高的 SQL 语句进行取消 (Cancel) 操作。在该 SQL 语句被成功 Cancel 掉后,TiDB 会尝试调用 Golang GC 立刻回收内存,以最快速度缓解内存压力。
    另外类似buffer_pool的是tikv的 storage.block-cache.capacity,因为tidb是计算和存储节点分离的,所以缓存的数据大部分都在tikv里面,这个是tikv的缓存数据存放大小的设置参数

再问一下, `tidb_server_memory_limit 该变量指定 TiDB 实例的内存限制,tidb实例的内存大小 ,怎么查看?

tidb_server_memory_limit

你是说过当前tidb实例使用的内存大小吗?那不是从系统层面看一下,或者从grafana监控里面看一下就行吗?

我是想问一下,tidb-server实例分配的内存可以调整吗?,不是tidb-server使用的内存,类似于mysql的buffer_pool

这个参数是百分比,我想知道具体的tidb-server分配的内存大小?还是说tidb-server没有分配内存大小,用多少只要不超过物理内存的上面百分比?


grafana上只能看到tidb-server的使用内存,tidb-server到底分配了多少内存怎么看?还是说直接由机器的物理内存上限决定的?

tidb-server实例的各个组件的相信内存使用情况暂时没有,那个百分比参数就是针对整个机器的内存来说的,一般设置为85%就是tidb最多能用到机器总内存的85%。

理解了,感谢

登录服务器top命令shift+m按内存排序就能看到tidb-server进程了和内存占用

收到,感谢

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