Couchbase中memcached服务异常退出(状态码139)问题咨询
Couchbase Memcached服务崩溃(状态码139)导致Bucket宕机问题
问题现象
Couchbase服务器部署完成后未进行任何访问,就出现Bucket宕机(显示1个节点待处理),同时memcached服务频繁退出重启,错误状态码139,日志如下:
Service 'memcached' exited with status 139. Restarting. Messages: 2023-01-11T04:44:44.735996+00:00 CRITICAL /opt/couchbase/bin/memcached(_ZN15google_breakpad16ExceptionHandler12GenerateDumpEPNS0_12CrashContextE+0x3ce) [0x400000+0x14fc5e] 2023-01-11T04:44:44.736000+00:00 CRITICAL /opt/couchbase/bin/memcached(_ZN15google_breakpad16ExceptionHandler13SignalHandlerEiP9siginfo_tPv+0x94) [0x400000+0x14ff74] 2023-01-11T04:44:44.736009+00:00 CRITICAL /lib64/libpthread.so.0() [0x7f67cce7e000+0x12b20] 2023-01-11T04:44:44.736015+00:00 CRITICAL /opt/couchbase/bin/memcached() [0x400000+0xd3e93] 2023-01-11T04:44:44.736019+00:00 CRITICAL /opt/couchbase/bin/memcached() [0x400000+0xa3e8c] 2023-01-11T04:44:44.736024+00:00 CRITICAL /opt/couchbase/bin/../lib/libplatform_so.so.0.1.0(_ZN9Couchbase6Thread12thread_entryEv+0xf) [0x7f67cf6f2000+0x14e7f] 2023-01-11T04:44:44.736027+00:00 CRITICAL /opt/couchbase/bin/../lib/libplatform_so.so.0.1.0() [0x7f67cf6f2000+0x95d7] 2023-01-11T04:44:44.736031+00:00 CRITICAL /lib64/libpthread.so.0() [0x7f67cce7e000+0x814a] 2023-01-11T04:44:44.736061+00:00 CRITICAL /lib64/libc.so.6(clone+0x43) [0x7f67ccabb000+0xfcf23]
Bucket状态:显示处于宕机状态,1个节点待处理
服务器环境
- Couchbase版本:server-community-6.6.0-7909
- 部署模式:单实例(无集群节点)
- 操作系统:CentOS Linux 8 (Core),内核4.18.0-348.7.1.el8_5.x86_64
- 资源配置:集群总内存10GB,ephemeral类型Bucket分配100MB内存
已尝试操作
重启Couchbase服务,问题未解决,日志未提供明确根因
解决方案
状态码139对应段错误(SIGSEGV),通常是内存访问越界或环境兼容性问题,按以下步骤排查:
1. 禁用Transparent Huge Pages(THP)
Couchbase官方明确THP会引发性能问题甚至崩溃,执行命令临时禁用:
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
添加到系统启动脚本永久生效:
- 编辑
/etc/rc.local,加入上述两行命令,赋予执行权限chmod +x /etc/rc.local - 或创建systemd服务确保重启后自动执行
2. 调整系统资源限制
Couchbase需要足够的文件描述符和进程数限制,修改/etc/security/limits.conf,添加:
couchbase soft nofile 10240 couchbase hard nofile 40960 couchbase soft nproc 10240 couchbase hard nproc 20480
重启系统或重新登录后生效,执行ulimit -n和ulimit -u确认配置已生效
3. 调整Bucket内存配置
尝试将ephemeral Bucket的内存配额提升至512MB以上,或改用持久化Bucket测试是否仍会崩溃,排除小内存初始化时的分配异常
4. 升级Couchbase版本
Couchbase 6.6.0对CentOS 8的兼容性存在已知问题,建议升级到7.x系列社区版(7.0及以上版本全面适配CentOS 8),升级前做好数据备份
5. 重新安装Couchbase
若上述步骤无效,可能是安装文件损坏:
- 停止Couchbase服务:
systemctl stop couchbase-server - 卸载服务:
yum remove couchbase-server - 清理残留文件:
rm -rf /opt/couchbase /var/lib/couchbase /var/log/couchbase - 从官方渠道重新下载对应版本包,重新安装
内容的提问来源于stack exchange,提问作者hitesh balar
相关产品推荐
相关产品推荐

