环境
| 项目 |
内容 |
| OS |
Ubuntu 24.04 LTS (noble),VMware 虚拟机 |
| 安装包 |
v5.0-multi9 noble amd64 deb(手动安装 4 个包) |
| CPU / 内存 |
2 核 8G:失败;4 核 8G:成功 |
| 依赖补充 |
24.04 需手动安装 libssl1.1(jammy)、libldap-2.4-2(focal)后 deb 才能装上 |
问题描述
在 2 核 环境下,按文档完成 opentenbase-ctl init 与 start 后:
- GTM 端口 6666 不监听
opentenbase-psql 报错:GTM error, could not obtain global timestamp
opentenbase-ctl status 显示 gtm 等为 STOPPED
将 VM 调整为 4 核 后,同样步骤可成功:6666/5432/15432 监听,SELECT 1 与 pgxc_node 正常。
复现步骤
cd /tmp
sudo opentenbase-ctl stop 2>/dev/null; sudo pkill -u opentenbase; sleep 3
sudo rm -rf /var/lib/opentenbase; sudo rm -f /tmp/.s.GTM.6666
sudo opentenbase-ctl init
sudo env PATH=/usr/lib/opentenbase/bin:$PATH opentenbase-ctl start
sleep 15
ss -tlnp | grep -E "6666|5432|15432"
opentenbase-psql -h 127.0.0.1 -p 5432 -U opentenbase -d template1 -c "SELECT 1;"
(2 核:6666 无监听,SELECT 1 失败;4 核:通过。)
实际错误日志
GTM 详细日志在(非 /var/log/opentenbase/gtm.log 主文件):
/var/lib/opentenbase/gtm/gtm_log/gtm-2026-05-24_193122.log
关键行:
FATAL: binding threads failed for 22
LOCATION: bind_thread_to_cores, main.c:2216
启动过程中曾出现 Started to run as GTM-Active,随后 FATAL 退出。
已尝试的规避措施
multi9 / multi10:2 核上均复现上述 FATAL。
在 gtm.conf 追加 thread_count = 2:启动报错
unrecognized configuration parameter "thread_count",gtm.conf parse fails(当前 multi9 noble 包不支持该参数)。
v5.0-multi9 的 install.sh:TAG 仍为 v5.0-multi8,且若 /tmp 残留不完整 deb 会误跳过下载(另议)。
根因分析(社团源码侧结论,供参考)
GTM 绑核设计大致为:
CPU 0:系统
CPU 1:timekeeper 线程(硬编码)
CPU 2+:业务线程
因此在 2 核 机器上绑核会失败,隐式至少需要 3 个逻辑 CPU。这与 docs/tutorials/01-quickstart.md 中「CPU 最少 2 核」不一致。
期望
文档:将 GTM/单机 deb 部署的 CPU 要求改为 至少 3 核,推荐 4 核+,并说明 2 核会出现 binding threads failed。
产品(可选):2 核环境禁用绑核或按 nproc 自适应;或提供受支持的 gtm.conf 配置项。
Release:修正 multi9 install.sh 的 TAG 与依赖说明(noble 24.04)。
成功环境(对照)
4 核、同版本 deb、同样 init/start 后:
gtm: RUNNING(或 ps 可见 gtm 进程)
6666/5432/15432 LISTEN
SELECT 1 返回 1
SELECT * FROM pgxc_node 含 gtm_master / coord1 / dn001
环境
libssl1.1(jammy)、libldap-2.4-2(focal)后 deb 才能装上问题描述
在 2 核 环境下,按文档完成
opentenbase-ctl init与start后:opentenbase-psql报错:GTM error, could not obtain global timestampopentenbase-ctl status显示 gtm 等为 STOPPED将 VM 调整为 4 核 后,同样步骤可成功:
6666/5432/15432监听,SELECT 1与pgxc_node正常。复现步骤