Leckun
#1
【 使用环境 】测试环境
【 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
就会出现如下图所示的情况

1 个赞
辞霜
#3
ocp express当前已经不建议部署了 该组件会在六月份下掉,建议部署ocp产品
1 个赞
Leckun
#4
有些单机部署或者小型3副本部署使用它建下租户和看下资源情况还是挺方便的,单独部署ocp完整版太重了又多了一项运维工作
2 个赞
Leckun
#5
而且这个设置memory_limit后是生效的,只是后来observer自己不知道怎么恢复了初始的值,和ocp express应该无关吧
1 个赞
辞霜
#6
你看一下obd里面memory_limit变化了么。
Leckun
#7
我用OCP Express改为0M,再在observer 通过SHOW PARAMETERS LIKE ‘memory_limit%’;查是生效的
memory_limit_percentage |
INT |
80 |
memory_limit |
CAPACITY |
0M |

辞霜
#8
改参数是生效的,但是obd的yaml文件未进行修改,如果重启会安装obd中yaml文件的参数进行启动。
obd没有探测参数变化的能力所以obd搭建的集群需要使用obd进行修改参数。
Leckun
#10
那应该如何解决,这配置命令不是全局的吗?我看到另一帖子也是类似提问:
辞霜
#12
obd部署的集群修改参数建议使用obd edit-config xxxx
Leckun
#13
好的我试下。不过有个疑问,Obd只是部署集群,但重启却又会使用原始参数覆盖?这是不是bug?至少逻辑上有问题吧
辞霜
#14
使用obd启动集群,,会去读取yaml参数文件来进行启动。这个是因为obd没有主动探测机制。导致非obd修改的参数无法进行持久化,
比如:黑屏化alter修改参数后,可以使用vi修改yaml文件中参数来进行持久化