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

而且这个设置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文件中参数来进行持久化

原因是这个已理解。但逻辑上是不是有问题,通过命令后来修改的memory_limit不是修改到数据库内部了吗?如果使用obd重启集群时会使用初始值再次修改并覆盖掉,是不是obd这个逻辑上有问题还是有bug?

不是bug,也不是逻辑问题。你的obd版本是多少,一般如果启动集群时候参数不匹配是会报错的

OBD版本如下,目前的现象是,重启集群后,它不会立即变回来原来参数,要过一段时间(如1天后)才会变化。例如昨天用obd cluster stop集群后,重启服务器再obd cluster start,昨天刚开始没发现变化,今天发现参数就恢复原来的了。

OceanBase Deploy: 3.2.2
REVISION: 6d098cf70ef6d763ff07db2d8189205f072955a1
BUILD_BRANCH: HEAD
BUILD_TIME: May 13 2025 17:14:15OURCE
Copyright (C) 2025 OceanBase
License Apache 2.0: Apache version 2 or later https://www.apache.org/licenses/LICENSE-2.0.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

我用obd edit-config把memory_limit改为0M,加了memory_limit_percent为70,但修改后提示,
[oceanbase-ce] 172.16.0.65: DO NOT decrease memory_limit after startup
Modifications take effect after a redeployment. Are you sure that you want to start a redeployment? [y/n]: y

这样原来数据还在吗?

redeployment相当于重新部署了 数据不会存在了

那这memory_limit数据怎么改? :sweat_smile:

直接调大memory_limit即可
你想改成memory_limit_percent这种按照内存自适应这种?

是的,不管是调整memory_limit还是memory_limit_percentage,之前使用OCP来调整的,我也想用ALTER SYSTEM SET来调整,OCP应该也是ALTER SYSTEM SET 来调整的吧,文档写明是立即生效的,但现在重启群集就恢复的问题,不知道OBD是怎么考虑的会自动覆盖参数???这明显不合理

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015788

用obd edit-config把memory_limit调大就行

那意思是ALTER SYSTEM SET 没用了吗?另外用obd edit-config把memory_limit调大后,提示要redeployment,那不是数据都全没了?这不是有问题吗?