tidb-server OOM(重新整理信息发帖)

【 TiDB 环境】生产环境 v7.5.4
【架构介绍:】1个pd,一个tidb-server,在同一台机器上,内存32G,无其他业务程序等。KV无故障,所以信息忽略。
【遇到的问题:】
tidb-server 会OOM,然后重启。32G的服务器,我配置tidb-server最大可使用内存为25G,如下图。但是grafana中显示 tidb-server最大只使用了10多G内存。PD使用的内存也很有限。服务器的监控也显示最大使用内存为 50% 。但是 dmesg确实显示为 oom-killer。因此怀疑是有个占用很大内存的sql导致了OOM 。但是我设置的单条sql最大可用内存为 3G,并且 tidb.log 中 我查看 ‘expensive_query’ 关键字,也没有记录有sql使用了大量内存。当前情况下,我该如何排查是某个sql还是其他什么原因导致了 tidb-server OOM。

dashboard和 dmesg截图,确认是发生OOM:


服务监控和grafana监控,又显示内存并未使用完:



tidb内存限制截图如下:
mem-limit
image

你这32g的机器我想不通,为啥14g的时候就要开始杀掉一个进程了。
除非是有其他的进程加起来超过18g了。而14g已经是整体占的最多的一个进程了。

整个机器的内存占比监控有吗?

1 个赞

兄弟,别提了。我也是想不通啊 :sob: 整个机器的内存占比没有。但是这个机器是专用的。除了 tidb-server 和 pd ,就是 grafana 、prometheus 啥的了。但是这个也不占用资源吧。

1 个赞

grafana 上有监控 系统内存的使用的拓扑图,可以先确认下是不是其它数据库进程占用的内存多了?

可以取一下 os messages ,里面会有 OOM 前一刻所有进程的内存使用情况。

在tidb server部署目录下面的log目录下有个oom-recored目录,可以看下哪个目录下面有没有东西。

这次的没有记录,只有一个日期为月初时间的目录。

仁兄,这个 os messages 说的是 一个监控项么。还是 /var/log/message 。如果是这个系统日志的话,那没有记录什么东西。

是的,/var/log/message日志里边,就是你这段上下文,有一个当时多个进程类似top的一段,看一下当时还有哪个进程内存比较大

1 个赞

我用的 openEuler 22.03 。OOM-killer是 下午 2 点 54 。再往上翻,没几行就来到了2点 钟左右,没看到有进程使用内存的提示 :sob:

部署一个ncabatoff/process-exporter:latest 然后收集一下 ,监控所有进程内存

1 个赞

大佬,问下监控中的具体路径,我一顿翻,没翻到。 :face_exhaling:

好的,谢谢。

那个信息应该在你发的那段日志的后边 :joy:

是不是这个,

还有这么一段 mem-info
Dec 18 14:54:22 tidb-1 kernel: [1660356.332752] Mem-Info:
Dec 18 14:54:22 tidb-1 kernel: [1660356.333423] active_anon:5121 inactive_anon:4054007 isolated_anon:0#012 active_file:354555 inactive_file:1074504 isolated_file:0#012 unevictable:3 dirty:16 writeback:5#012 slab_reclaimable:28021 slab_unreclaimable:14762#012 mapped:131033 shmem:27186 pagetables:13962 bounce:0#012 free:2517126 free_pcp:2 free_cma:0
Dec 18 14:54:22 tidb-1 kernel: [1660356.339228] Node 0 active_anon:9200kB inactive_anon:15128684kB active_file:0kB inactive_file:6660kB unevictable:12kB isolated(anon):0kB isolated(file):0kB mapped:85928kB dirty:0kB writeback:0kB shmem:91028kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 6144kB writeback_tmp:0kB kernel_stack:3024kB all_unreclaimable? no
Dec 18 14:54:22 tidb-1 kernel: [1660356.343171] Node 0 DMA free:11264kB min:496kB low:620kB high:744kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
Dec 18 14:54:22 tidb-1 kernel: [1660356.347087] lowmem_reserve: 0 2479 15534 15534 15534
Dec 18 14:54:22 tidb-1 kernel: [1660356.348115] Node 0 DMA32 free:136692kB min:82192kB low:102740kB high:123288kB reserved_highatomic:0KB active_anon:0kB inactive_anon:2385796kB active_file:0kB inactive_file:4228kB unevictable:0kB writepending:0kB present:3129196kB managed:2539372kB mlocked:0kB pagetables:5280kB bounce:0kB free_pcp:1268kB local_pcp:0kB free_cma:0kB
Dec 18 14:54:22 tidb-1 kernel: [1660356.352517] lowmem_reserve: 0 0 13054 13054 13054
Dec 18 14:54:22 tidb-1 kernel: [1660356.353555] Node 0 Normal free:435188kB min:432688kB low:540860kB high:649032kB reserved_highatomic:0KB active_anon:9200kB inactive_anon:12742888kB active_file:0kB inactive_file:2460kB unevictable:12kB writepending:0kB present:13631488kB managed:13368112kB mlocked:12kB pagetables:40768kB bounce:0kB free_pcp:1312kB local_pcp:0kB free_cma:0kB
Dec 18 14:54:22 tidb-1 kernel: [1660356.357908] lowmem_reserve: 0 0 0 0 0
Dec 18 14:54:22 tidb-1 kernel: [1660356.358806] Node 0 DMA: 04kB 08kB 016kB 032kB 064kB 0128kB 0256kB 0512kB 11024kB (U) 12048kB (M) 24096kB (M) = 11264kB
Dec 18 14:54:22 tidb-1 kernel: [1660356.360884] Node 0 DMA32: 109
4kB (UME) 1248kB (UME) 13316kB (UME) 14732kB (UME) 8164kB (UME) 38128kB (UME) 12256kB (UME) 12512kB (UE) 51024kB (UM) 52048kB (UE) 234096kB (UM) = 137092kB
Dec 18 14:54:22 tidb-1 kernel: [1660356.363713] Node 0 Normal: 1634kB (UME) 2208kB (UE) 34916kB (UE) 39732kB (UE) 20364kB (UME) 89128kB (UE) 31256kB (UME) 11512kB (UME) 151024kB (UME) 72048kB (UM) 84*4096kB (UM) = 432412kB

PD 500多M,也不大,后边还有吗

截止到下面这里

服务器有 numa吗? lscpu 看下

大佬,你这么一说,我就感觉我配置错了。

配置文件里是这样的:
image

1 个赞