通过ocp express管理界面修改的值memory_limit=0下次重启又会自动改掉

【 使用环境 】测试环境
【 OB or 其他组件 】
OBServer
5.7.25-OceanBase_CE-v4.3.5.0

OCP Express
版本号: 4.2.2-20240108
发布日期: 2024年1月11日

【问题描述】
memory_limit原值为9G,通过ocp express管理界面修改的值memory_limit=0M后,使用memory_limit_percentage是正常的,但有时候memory_limit突然自己变回9G,例如observer重启后,又会自动恢复9G
就会出现如下图所示的情况
8fc22ea439c47ae5686f83265f6c9820

1 个赞

ocp express当前已经不建议部署了 该组件会在六月份下掉,建议部署ocp产品

1 个赞

有些单机部署或者小型3副本部署使用它建下租户和看下资源情况还是挺方便的,单独部署ocp完整版太重了又多了一项运维工作

2 个赞

而且这个设置memory_limit后是生效的,只是后来observer自己不知道怎么恢复了初始的值,和ocp express应该无关吧

1 个赞

你看一下obd里面memory_limit变化了么。

我用OCP Express改为0M,再在observer 通过SHOW PARAMETERS LIKE ‘memory_limit%’;查是生效的

memory_limit_percentage INT 80
memory_limit CAPACITY 0M

image

改参数是生效的,但是obd的yaml文件未进行修改,如果重启会安装obd中yaml文件的参数进行启动。
obd没有探测参数变化的能力所以obd搭建的集群需要使用obd进行修改参数。

配置没有持久化呢

1 个赞

那应该如何解决,这配置命令不是全局的吗?我看到另一帖子也是类似提问:

那如何持久化配置?

obd部署的集群修改参数建议使用obd edit-config xxxx

好的我试下。不过有个疑问,Obd只是部署集群,但重启却又会使用原始参数覆盖?这是不是bug?至少逻辑上有问题吧

使用obd启动集群,,会去读取yaml参数文件来进行启动。这个是因为obd没有主动探测机制。导致非obd修改的参数无法进行持久化,
比如:黑屏化alter修改参数后,可以使用vi修改yaml文件中参数来进行持久化