【 TiDB 使用环境】
生产环境
【 TiDB 版本】
v4.0.8
【遇到的问题:问题现象及影响】
使用v4.0.9版本的BR指令在PD Leader节点备份集群时遇到如下报错:
runtime: failed to create new OS thread (have 50 already; errno=11)
runtime: may need to increase max user processes (ulimit -u)
fatal error: newosproc
其后的一堆stack trace就不贴了...
备份命令:
/home/tidb/br backup full --pd "${pd-leader}:2379" --storage "local:///br_backup/${cluster_name}/full/2023-04-23T17:57:14Z08:00" --ratelimit 120 --log-file /br_backup/${cluster_name}/full/log/2023-04-23T17:57:14Z08:00.log
报错显示errno=11的资源不足错误,我看了我的ulimit -u为4096,tidb用户下的进程数很少,主要是3个tikv-server,1个pd-server,1个tidb-server在跑。
但是修改ulimit -u为65536后确实可以备份了。
问题是我不可能有这么多的user processes,怎么会触发ulimit -u呢?goroutine也算不到user process中呀。