开发者社区> 问答> 正文

OceanBase数据库memory_limit_percentage 调整小了 系统占用变多了?

OceanBase数据库memory_limit_percentage 调整小了 系统占用变多了? 3be8976b9087b4f434f672500c00853f.png 43c4b613987bfbbf796439cb872dc3e4.png

展开
收起
闲o月 2024-03-24 16:12:41 39 0
来自:OceanBase
5 条回答
写回答
取消 提交回答
  • 调整OceanBase数据库的memory_liit_percentage参数可能会影响系统的内存占用。

    首先,关于memory_limit_percentage参数调整后系统占用变多的情况,这可能是因为当你降低了memory_limit_percentage的值时,实际上是减少了OceanBas可用于缓存的内存比例。由于OceanBase会尽可能地使用系统内存来提高性能,所以当可用的内存比例减少时,它可能会导致系统其他部分的内存压力增大。在设置memory_limit_percentage时,需要确保其值小于系统总内存的值,以避免对系统其他部分造成不必要的内存压力。

    其次,memory_limit是指OceanBase可以使用的最大物理内存上限,这个值可以通过alter system命令动态修改而无需重启数据库服务。memory_limi_percentage参数决定了OceanBase使用物理机操作系统内存的上限,通常情况下,如果物理机内存大小在512GB以下,建议设置为80%,而512GB及以上则采用90%。

    最后,对于memory_limit是否是操作系统的sys占用,OceanBase作为一个支持多租户架构的准内存布式数据库,会对物理服务器的大部分内存进行统一管理。memory_limit参数设定了OceanBase占用的内存上限,这意味着OceanBase会根据这个参数来管理其使用的内存资
    综上所述,调整memory_limit_percentage可能会影响系统的内存占用情况,因此在调整这个参数时需要考虑到整个系统的内存使用情况,以确保系统的稳定运行。同时,memory_limit确实是与操作系统的内存管理相关的参数,它决定了OceanBas能够使用的最大内存上限。

    2024-03-31 17:44:25
    赞同 展开评论 打赏
  • 调整OceanBase数据库的memory_limit_percentage参数后,系统占用变多的情况可能是因为其他内存配置的影响

    在OceanBase中,memory_limi_percentage用于设置OBServer可使用的总内存大小占总内存的百分比。如果减小了memory_limit_percentage的值,理论上应该会减少OBServer可使用的内存量,而不是增加系统的占用。然而,如果同时设置了memory_limit参数,系统会优先使用memory_limit配置的值而忽略_limit_percentage的设置。所以,如果你发现系统占用增加了,可能是因为memory_limit`的值不为0,且其设置的值大于原来基于百分比计算的内存大小。

    关于memory_limit,它代表的OceanBase数据库进程所使用的内存上限

    这个参数的默认单位是MB,并且OceanBase会占据物理服器的大部分内存进行统一管理。当memory_limit设置为非0值时,它会决定OBServer的内存大小,而不受memory_limit_percentage的影响。这意味着,如果你直接设置了memory_limit的值,无论该值是大是小,都会直接影响到系统的总体内存占用情况。

    综上所述,调整memory_limit_percentage并不一定会导致系统占用的内存增多,这可能与memory_limit参数的具体设置有关。在实际运维中,需要综合考虑这两个参数的设置以及实际的内存使用情况来优化配置。

    2024-03-31 16:16:40
    赞同 展开评论 打赏
  • 如果没设置memory_limi参数值,会以tmemory_limit_percentage为准,如果memory_limi设置了数值,已memory_limi为主。 此回答整理自钉群:“[社区]技术答疑群OceanBase”

    2024-03-25 20:01:56
    赞同 展开评论 打赏
  • 1、memory_limit_percentage 用于设置 OBServer 总可用内存大小占总内存大小的百分比。
    image.png

    如果 memory_limit 的值不为 0时,系统会忽略 memory_limit_percentage 的设置而优先使用 memory_limit 配置的值。

    2、memory_limit 用于设置 OBServer 可用的总内存大小。

    memory_limit='40G' 表示设置 OceanBase 数据库进程的使用内存上限是 40 GB。由于默认单位为 MB,则 memory_limit=40960 与 memory_limit='40G' 设置的值相同。

    如果希望限制运行中的 OceanBase 数据库的内存大小,可以直接修改 memory_limit 的值,使其达到预期。设置后,后台参数 Reload 线程会使其动态生效,无需重启。但是在设置时,需要保证 memory_limit 的值小于系统总的值。

    memory_limit 的值必须大于 OBServer 节点实际已使用的内存。

    ——参考链接

    2024-03-25 07:51:17
    赞同 展开评论 打赏
  • 调整OceanBase数据库的memory_limit_percentage参数不会导致系统占用变多

    首先,OceanBase数据库中的memory_limit_percentage参数用于控制数据库使用物理机操作系统内存的上限。这个参数的设置取决于物理机的可用内存大小,一般情况下,如果物理机内存小于512GB,建议设置为80%,而512GB及以上的机器可以设置为90%。这个参数的调整是为了优化数据库的性能,确保有足够的内存用于数据处理,同时避免过度占用系统资源。

    其次,如果您发现在减小memory_limit_percentage参数后系统占用变多,可能是因为其他因素导致的内存使用增加。例如,可能是由于数据库中运行的查询或操作更加复杂,或者是因为系统中其他进程的内存需求增加。此外,如果设置了较低的memory_limit_percentage,可能会导致频繁的内存换页,从而影响系统性能。

    最后,为了确保数据库性能和系统稳定性,建议根据实际情况合理设置memory_limit_percentage参数,并监控数据库和系统的内存使用情况。如果有必要,可以使用alter system命令来动态调整memory_limit的值,使其适应当前的运行条件。同时,也可以考虑调整其他相关参数,如freeze_trigger_percentageminor_freeze_times,以优化内存管理和数据存储过程。

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

相关电子书

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