【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】obbinlog401
【 使用版本 】社区版
【问题描述】obbinlog所在主机内存被打爆,查看是binlog租户内存占用过多,使用 alter binlog instances set binlog_memory_limit=XXG 命令修改完好像没有生效,效果不大,如何修改实例的内存呢
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
1 个赞
淇铭
2025 年2 月 25 日 09:55
#4
应该是配置这个参数 我看文档没有此alter binlog instances set binlog_memory_limit=XXG
命令修改这个参数的 可以动态生效的
配置参数
https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000001493744
1 个赞
好的,这个我看到过,不知道改binlog的conf还是instances的conf,我先改一下binlog的试一下
1 个赞
论坛小助手
2025 年2 月 25 日 10:49
#6
根据文档库中的信息,binlog_memory_limit
参数是用于控制 binlog 实例的内存限制。您提到修改 alter binlog instances set binlog_memory_limit=XXG
似乎没有生效,这可能是因为参数配置的位置或方法不正确。
对于 obbinlog 的配置,通常有两种方式可以调整:
通过 SQL 命令修改实例配置 :
如果您希望对正在运行的 binlog 实例进行动态调整,应该使用类似如下的 SQL 命令:
ALTER SYSTEM SET binlog_memory_limit='XXG' BY QUERY /*+ READ-consistency(WEAK) */;
或者针对特定租户下的 binlog 实例:
ALTER TENANT <tenant_name> SET VARIABLES binlog_memory_limit='XXG';
修改配置文件 :
如果需要永久性地更改此参数,则需要编辑 obbinlog 的配置文件(通常是 obbinlog.conf
或者其他相关配置文件),找到 binlog_memory_limit
这个参数并设置合适的值。然后重启 obbinlog 服务以使更改生效。
建议先尝试通过 SQL 命令来临时调整 binlog_memory_limit
参数,并确认其是否有效。如果确实需要长期改变这个参数,请确保按照正确的步骤修改配置文件并且重启服务。同时请注意,在生产环境中做任何变更之前,最好先在测试环境中验证这些变更的影响。
如果您已经按照上述方法操作但仍然遇到问题,或者不确定具体应该如何操作,请提供更多的上下文信息和日志记录,以便我们进一步帮助您排查问题。
更多信息请查看:
删除 Incr-Sync 组件
更改归档目的端
oms_migration_failed 迁移任务失败
为 MySQL 数据库开启 Binlog
oms_sync_failed 同步任务失败
oms_migration_delay 迁移任务延迟
oms_sync_delay 同步任务延迟
管理计算平台
ARCHIVELOG
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
1 个赞
撑伞接落花
2025 年2 月 25 日 11:24
#7
服务器资源(8c 32G)使用情况:
从上图看 每个instance 使用的内存 有大有小,导致服务内存资源不足 宕机了。
想了解下,
1、obbinlog 每个 instance 使用的内存是怎么限制的?instance 的内存是共享还是独享?
1 个赞
淇铭
2025 年2 月 25 日 13:49
#8
没有 每个instance之间是独立的 只有一个obcdc的内存限制参数
1 个赞
我们把全局配置文件的binlog_memory_limit 改完之后,是不是需要重启binlog instances才能生效呢?还是需要修改每个instances的配置文件
1 个赞
这个我知道,binlog instances需要重启吗,binlog server 关闭之后,binlog instances在后台还是运行的
1 个赞
我们调整完 config_template 表中的 binlog_memory_limit 的值后 重启 binlog server 感觉没有什么变化
1 个赞
淇铭
2025 年2 月 26 日 14:38
#14
意思就是内存还没有下去 占用还是很多是么?如果是的 那建议把binlog instances也重启一下
1 个赞
重启实例变化也不大,我们 DROP删除 一部分租户备实例后, ps -ef 发现后台还有相应的binlog实例的进程在跑 kill -9 这些进程后内存才降下来
1 个赞
独善其身
2025 年2 月 26 日 17:16
#17
好像有个binlog_memory_limit参数可以看看能不能配合修改吧