大佬们问一个问题 ecs里面装了安全监控 会导致tidb oom吗

【 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%左右给系统的,不然系统都直接夯了。。。。

有的,默认情况下是使用机器的80%的内存作为tidb-server实例的阈值,实际会略高一点。