内存管理疑问

【产品名称】

【产品版本】

【问题描述】

oceanbase在生产环境中,部署的机器一般使用glibc默认的ptmalloc,还是tcmalloc或者jemalloc。因为最近发现ptmalloc会有内存空洞的现象,想问一下oceanbase是怎么避免的。

ob内存是自己管理的,一般不会向操作系统申请内存

我了解,ob是层次化模块化管理内存,但我就是想问oceanbase要在生产环境部署的话,向操作系统申请释放内存用的就是默认的ptmalloc吗

OB在启动时,已经从机器中隔离出来了OB将要用到的内存资源。

还是有malloc的场景的,或许是没有全部改完?


老哥有空帮忙看看四楼

你说的对,OB在3.x版本还没有完全调整完所有的malloc/free相关的代码,不过随着版本的迭代,这些代码慢慢会调整掉

哦这样啊,谢谢解答

OB还有不少不完美的地方,同学有什么发现,可以提出来,也可以提PR

嗯嗯可以的