开发者社区> 问答> 正文

请问OceanBase数据库中社区版4.1部署时候,若未在yaml指明使用内存的话可用内存一次申请?

请问OceanBase数据库中社区版4.1部署时候,若未在yaml里指明使用内存的话,新建集群是动态申请内存的嘛? 根据机器剩余可用内存一次申请4G?

展开
收起
十一0204 2023-07-19 14:09:20 90 0
来自:OceanBase
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在使用OceanBase社区版4.1进行部署时,默认情况下,如果您未在yaml文件中指定内存大小,OceanBase会动态申请内存。根据OceanBase官方文档的说明,新建集群时,会根据机器剩余可用内存动态申请内存,每次申请的内存大小为4GB,直到申请到足够的内存为止。这种动态申请内存的方式可以确保OceanBase在使用内存时充分利用机器的资源,并避免浪费资源。

    当然,如果您希望指定集群的内存大小,可以在yaml文件中进行配置。例如,在yaml文件中添加以下配置:

    Copy
    ob_config:
    memory_quota: 16GB
    以上配置指定了集群的内存配额为16GB。在设置内存配额时,需要根据机器的硬件资源和集群的负载情况进行合理的配置,以充分利用机器资源并保障系统稳定性。

    2023-07-28 15:09:54
    赞同 展开评论 打赏
  • 在OceanBase数据库社区版4.1中,默认情况下,如果未在部署的 YAML 文件中显式指定内存大小,新建集群时会按照动态分配的方式进行内存申请。

    动态内存申请是根据机器剩余可用内存进行调整。具体来说,当您启动一个新的集群节点时,它会尝试根据实际可用的内存来分配适当的内存资源。默认情况下,每个节点将自动分配约4GB的内存,但这个值可能会根据系统配置和可用资源进行调整。

    需要注意的是,在使用动态内存分配时,确保您的机器具有足够的可用内存来满足OceanBase数据库的最低要求,并且还有足够的空闲内存用于其他系统和应用的正常运行。过度分配内存可能导致系统性能下降或出现内存不足的问题。

    如果您希望显式指定内存大小,可以通过修改部署 YAML 文件,在 resources 部分的 requests 字段中设置 memory 的值来指定所需的内存大小。例如:

    ...
    resources:
      requests:
        cpu: 2
        memory: 8Gi
    ...
    

    上述示例将请求分配给节点的内存为8GB。

    2023-07-19 15:56:41
    赞同 展开评论 打赏
  • 在 OceanBase 数据库的社区版 4.1 中,集群部署时默认情况下是不会动态申请内存的。如果您未在 YAML 配置文件中指定使用内存的大小,OceanBase 在启动时将使用默认的内存配置。

    默认情况下,OceanBase 的内存配置是基于静态参数配置文件(/root/ob/conf/obinit.conf)中的参数进行的。例如,其中有一个重要的参数是 --memory_limit,用于指定整个集群的内存限制。

    根据这个参数的配置,OceanBase 将在启动时预先分配内存,并在整个运行过程中保持稳定。它不会根据机器剩余可用内存动态调整内存的分配。

    要自定义内存配置,您可以编辑 obinit.conf 文件,并按照要求设置 --memory_limit 参数的值。然后,在启动或重新启动 OceanBase 集群时,新的内存配置将生效。

    在修改内存配置之前,请确保您对系统资源和硬件配置有所了解,并充分评估和测试修改对系统性能和稳定性的影响。

    2023-07-19 15:54:13
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载