关于OCEANBASE内存分配


我在往ob到数据的时候有以上告警。请问reserved memory 这个是通过memory_reserved设置吗?memory_reserved这个大小跟其它内存比如memory_limit,system_memory是啥关系?如何分配?

OceanBase分布式数据库-海量数据 笔笔算数

memory_reserved参数用于设置OCP可以使用的最大内存量,超过这个阈值后,OCP将无法分配更多的内存,从而导致系统出现内存不足的问题。
memory_limit参数用于设置整个Oceanbase集群可以使用的最大内存量,包括所有节点上的内存。如果memory_limit参数被设置得过大,可能会导致OCP的内存使用量超过阈值,从而出现告警。
system_memory参数用于设置每个节点上可以使用的最大内存量。

memory_reserved 这个只针对ocp吗?不针对observer吗?

ob也是有memory_reserverd的 可以看上面得链接

那observer上要如何设置,按什么比例设置,调大这个会影响MEMSTORE或者kvcache的大小吗?

可以通过ALTER SYSTEM SET 方式修改。

调大这个会影响MEMSTORE或者kvcache的大小吗?

稍等。

你们现在设置的是多少啊?500MB也不够是么

现在是500,导数据的时候报异常

OceanBase 社区4zi6ty_gaMTQ2OTcyNjMzLjE2NjE5MTUxOTc._ga_T35KTM57DZ*MTcxNTE0OTMzMi44NDAuMS4xNzE1MTQ5NTYyLjI0LjAuMA…#observer%E6%80%BB%E5%86%85%E5%AD%98%E9%99%90%E5%88%B6

可以看下这篇文章, memory_reserved = 物理内存 - memory_limit 设大了会影响ob数据库使用的内存总大小

memory_reserved 用于设置系统底层模块预留的内存容量大小,为了保障一些基础模块能够正常运行,一定会多预留 memory_reserved 以供使用
调大memory_reserved参数不会直接影响MEMSTORE或KVCache的大小。

这个告警对ob有啥影响吗

这个感觉已经影响了整体机器运行了,可以考虑扩容,最好排查下为啥500租户会占用这么多内存