tikv各节点内存使用不一致

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】
xxx.xxx.xxx.8的服务器内存使用非常少,其他两个tikv节点内存使用较高。
查看各个节点的region和store大小,基本都一样。这个该怎么排查呢?
我看xxx.xxx.xxx.8的20108这个实例占用的CPU很高,而且非常有规律。

【背景】做过哪些操作

【现象】业务和数据库现象

【业务影响】

【TiDB 版本】

【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

是不是用了arm的机器

不是arm架构的。

用top看一下内存占用情况,再看看cat /proc/meminfo

1)、TOP信息:xxx.8的明显使用率低。
xxx.xxx.xxx.7
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14031 tihexa 20 0 121.6g 67.5g 15392 S 4.3 26.9 17761:48 tikv-server
14480 tihexa 20 0 121.3g 67.8g 15976 S 4.0 27.0 20403:14 tikv-server

xxx.xxx.xxx.8
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19157 tihexa 20 0 11.2g 5.5g 18016 S 2.3 2.2 2027:06 tikv-server
19160 tihexa 20 0 11.7g 6.1g 18020 S 1.3 2.4 2157:34 tikv-server

xxx.xxx.xxx.9
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
189719 tihexa 20 0 120.1g 67.7g 18664 S 4.0 26.9 15583:33 tikv-server
190200 tihexa 20 0 120.2g 67.3g 16040 S 1.0 26.8 18218:44 tikv-server

2)、meminfo信息
xxx.7
$ cat /proc/meminfo
MemTotal: 263586832 kB
MemFree: 2295876 kB
MemAvailable: 112701648 kB
Buffers: 922432 kB
Cached: 112051412 kB
SwapCached: 0 kB
Active: 156570248 kB
Inactive: 98758412 kB
Active(anon): 143594576 kB
Inactive(anon): 600884 kB
Active(file): 12975672 kB
Inactive(file): 98157528 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 142354992 kB
Mapped: 63144 kB
Shmem: 1840640 kB
Slab: 3516340 kB
SReclaimable: 3073028 kB
SUnreclaim: 443312 kB
KernelStack: 130144 kB
PageTables: 437556 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 131793416 kB
Committed_AS: 19350324 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 759644 kB
VmallocChunk: 34224715772 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1419264 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 326728 kB
DirectMap2M: 17139712 kB
DirectMap1G: 252706816 kB

xxx.8
$ cat /proc/meminfo
MemTotal: 263586824 kB
MemFree: 176697916 kB
MemAvailable: 245594332 kB
Buffers: 355508 kB
Cached: 71468228 kB
SwapCached: 0 kB
Active: 15936292 kB
Inactive: 68154364 kB
Active(anon): 12554324 kB
Inactive(anon): 185100 kB
Active(file): 3381968 kB
Inactive(file): 67969264 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 12267148 kB
Mapped: 101020 kB
Shmem: 472496 kB
Slab: 833664 kB
SReclaimable: 643296 kB
SUnreclaim: 190368 kB
KernelStack: 54048 kB
PageTables: 44888 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 131793412 kB
Committed_AS: 7312216 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 765752 kB
VmallocChunk: 34224715772 kB
HardwareCorrupted: 0 kB
AnonHugePages: 11425792 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 304192 kB
DirectMap2M: 6676480 kB
DirectMap1G: 263192576 kB

xxx.9
$ cat /proc/meminfo
MemTotal: 263586832 kB
MemFree: 2515984 kB
MemAvailable: 113004436 kB
Buffers: 821324 kB
Cached: 111952428 kB
SwapCached: 0 kB
Active: 156266512 kB
Inactive: 98485068 kB
Active(anon): 143176016 kB
Inactive(anon): 634092 kB
Active(file): 13090496 kB
Inactive(file): 97850976 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 12 kB
Writeback: 0 kB
AnonPages: 141977992 kB
Mapped: 112872 kB
Shmem: 1832272 kB
Slab: 3884252 kB
SReclaimable: 3347436 kB
SUnreclaim: 536816 kB
KernelStack: 130016 kB
PageTables: 430976 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 131793416 kB
Committed_AS: 19325884 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 759644 kB
VmallocChunk: 34224715772 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1368064 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 367688 kB
DirectMap2M: 47507456 kB
DirectMap1G: 222298112 kB

用top观察了一下7,8,9三个节点的CPU使用情况,发现8节点的两个tikv-server进程使用cpu的百分比一直保持在2%左右。7,9两个节点上面的2个tikv-server进程使用CPU情况,会交替出现17%左右的使用率。

简单对比了下内存数据,7和9和AnonPage高的有点不正常,估计还是系统层面的参数问题,要不先用tiup cluster check再对比下环境的差异

1 个赞

tiup cluster check 集群,查看每个节点的系统参数配置是一致的

你好,请问在看这个问题吗?

麻烦再对比下7和8的tikv-server内存分布情况 pmap -x pid

昨天对集群服务器进行维护,服务器已经都重启了,可能看不到现象了。还能从其他途径进行分析吗?

没有数据的话比较难排查了

那等现象在出现的时候,我再收集信息吧,能把需要排查问题使用的命令,给我写一下吗?
谢谢。

麻烦再确认下 tikv 节点上的透明大页是否都关闭了,如果有部分节点开启有可能会出现这个问题。

从他之前提供的内存数据来看,THP应该是都开着,不过占用的内存空间并不大,最好还是都关了再试试看能不能重现

请问从哪里看出来还开着THP呢?谢谢!

另:我核实了一下THP,确实是都没有关闭。

/proc/meminfo里的AnonHugePages项,如果关闭了THP这一项会是0

你好,我想再问一个问题。
我看关闭THP功能的方法是:

echo never >  /sys/kernel/mm/transparent_hugepage/enabled
echo never >  /sys/kernel/mm/transparent_hugepage/defrag

这种临时关闭THP功能,还需要重启tidb集群吗?

要的。

也就是说,关闭THP这个动作一定要在tidb集群启动之前实现,对吧。