TiUP 部署 tikv 设置 NUMA CPU 亲和性

【 TiDB 使用环境】测试
【 TiDB 版本】 7.5.1
【复现路径】
在Tiup 的配置文件 中将 tikv_servers.numa_node的值设置为 “1,2,3,4,5” 。
执行部署,生成的服务脚本对应为:
exec numactl --cpunodebind=1,2,3,4,5 --membind=1,2,3,4,5 bin/tikv-server

【遇到的问题:问题现象及影响】
有两台物理机,配置为: CPU 两颗 ,每颗 16核32线程。= 64个逻辑cpu 。多块数据盘。
numa结构:
NUMA node0 CPU(s): 0-15,32-47
NUMA node1 CPU(s): 16-31,48-63

我要在每个物理机上启三个TiKV 实例,并且每个实例要绑定到指定的CPU核上。期望使用下面的命令方式。
numactl -C 1-15 --membind=0 bin/tikv-server
numactl -C 32-47 --membind=0 bin/tikv-server
numactl -C 16-31 --membind=1 bin/tikv-server

但是 TiUP 并不支持这样的方式生成启动脚本。
TiUP 有没有源代码?开源的仓库?

【资源配置】
【附件:截图/日志/监控】

tiup的仓库在这里:

目前确实不能实现你说的那种效果,可以手动改下进程启动脚本

部署一个最佳了

3个tikv一般是部署到3个物理机上

TiUP 目前可能确实不支持按照你期望的方式生成启动脚本。通常,TiUP 会生成一个统一的启动脚本,用于启动整个 TiKV 集群,而不是为每个实例生成单独的脚本。

在源代码文件中找到了,其实是支持 -C参数的。

配置文件中提供两个配置参数
numa_node: “0”
numa_cores: “1-15”

cat embed/templates/scripts/run_tikv.sh.tpl

{{- if and .NumaNode .NumaCores}}
exec numactl --cpunodebind={{.NumaNode}} --membind={{.NumaNode}} -C {{.NumaCores}} bin/tikv-server \
{{- else if .NumaNode}}
exec numactl --cpunodebind={{.NumaNode}} --membind={{.NumaNode}} bin/tikv-server \
2 个赞

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