OceanBase 数据库提供两种方式以设置自身内存的上限:

    • 按照计算机器总内存上限的百分比计算自身可以使用的总内存,由 memory_limit_percentage 参数配置。
    • 直接设置 OceanBase 数据库可用内存的上限,由 memory_limit 参数配置。其中 memory_limit 参数值为 0 时,使用百分比的配置方式,否则则使用绝对值的配置方式。

    下述表格示例了当在一台 100 GB 的机器上启动一个 OceanBase 数据库实例时,memory_limit_percentagememory_limit 参数的值是如何影响 OceanBase 数据库的内存上限的:

    示例

    memory_limit_percentagememory_limitOceanBase 数据库内存上限

    示例 1

    80

    0

    80 GB

    示例 2

    80

    90 GB

    90 GB

    示例 1 中由于 memory_limit 为 0,所以以 memory_limit_percentage 为准,那么 OceanBase 内存上限就是 100GB*80%=80 GB。

    示例2 中由于 memory_limit 为 90 GB,所以以 memory_limit 为准,OceanBase 内存上限就是 90 GB。

    注意:目前主流的 OceanBase 数据库服务器一般内存为 384 GB 或 512 GB,384 GB 内存建议配置为使用机器内存的 80%,512 GB 内存建议配置为使用机器内存的 90%。