【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】7.1.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
就是主机默认被安全监控软件吃了500m 内存。 是不是每个pd tidb tikv 都得指定内存大小而不是让她自动获取了
有默认内存限制的
tidb_server_memory_limit
从 v6.4.0 版本开始引入
- 作用域:GLOBAL
- 是否持久化到集群:是
- 是否受 Hint SET_VAR 控制:否
- 默认值:
80%
- 取值范围:
- 你可以将该变量值设为百分比格式,表示内存用量占总内存的百分比,取值范围为
[1%, 99%]
。 - 你还可以将变量值设为内存大小,取值范围为
0
以及[536870912, 9223372036854775807]
,单位为 Byte。支持带单位的内存格式 “KiB|MiB|GiB|TiB”。0
值表示不设内存限制。 - 当设置的内存值小于 512 MiB 且不为 0 时,TiDB 将会使用 512 MiB 作为替代。
- 你可以将该变量值设为百分比格式,表示内存用量占总内存的百分比,取值范围为
- 该变量指定 TiDB 实例的内存限制。TiDB 会在内存用量达到该限制时,对当前内存用量最高的 SQL 语句进行取消 (Cancel) 操作。在该 SQL 语句被成功 Cancel 掉后,TiDB 会尝试调用 Golang GC 立刻回收内存,以最快速度缓解内存压力。
- 只有内存使用大于
tidb_server_memory_limit_sess_min_size
的 SQL 语句会被选定为最优先被 Cancel 的 SQL 语句。 - 目前 TiDB 一次只能 Cancel 一条 SQL 语句。如果 TiDB 完全 Cancel 掉一条 SQL 语句并回收资源后,内存使用仍然大于该变量所设限制,TiDB 会开始下一次 Cancel 操作。
没有遇到过。
大佬的内存用的不都是1T内存的机器吗,500M可以忽略了吧
tidb有默认使用的内存限制,就是比如你机器16G,可以分配80%给tidb使用,20%相当于是预留给其他进程或者服务使用。
500m内存不多吧,操作系统不是默认得留个一两个g内存么
你这个答案靠谱
文档里有说明吗大佬
学习一手
默认会预留20%左右给系统的,不然系统都直接夯了。。。。