---
title: OceanBase 数据库内存碎片问题的诊断排查方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库内存碎片问题的诊断排查方法相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库内存碎片问题的诊断排查方法的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OceanBase 数据库内存碎片问题的诊断排查方法

更新时间：2025-05-07 12:51

适用版本： V1.4.x、V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：Troubleshoot  

本文介绍 OceanBase 数据库内存碎片问题的诊断排查方法。

## 问题现象

1004 租户 `DEFAULT_CTX_ID` 内存占用 1,453,944,832 字节，其中有 400M+ 是内存碎片占用的量。

![yue65-677305-ju63y-3u78gt](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240222Memfragmentation01.png)

## 内存碎片诊断信息

内存日志中字段含义。

| wash_related_chunks | CTX 下被 wash 的内存所占用的 chunk 数 |
| --- | --- |
| washed_blocks | CTX 下被 wash 的内存所占用的 block 数 |
| washed_size | CTX 下被 wash 的内存大小 |
| count | 内存模块分配的次数 |
| avg_used | 内存模块分配内存的平均大小 |
| block_cnt | used 内存相关的 block 数 |
| chunk_cnt | used 内存相关的 chunk 数 |

一般导致内存碎片的模块会有以下特性：频繁申请释放大量的小块内存，体现在日志上就是 `avg_used` 偏小，`block_cnt` 和 `chunk_cnt` 较大，甚至 `chunk_cnt*2M` 接近碎片大小。

## 内存碎片排查

诊断排查内存碎片首先得关注日志中的 `chunk_cnt`，它直接表示内存模块占住多少个 2M 内存块不释放。如果没有明显比较大的 `chunk_cnt`，则有可能导致碎片的内存模块的内存已经被释放掉了，需要找到更早的产生碎片日志。

示例碎片日志信息。

![78y65-ku805-6h90y-67hrt](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240222Memfragmentation02.png)

1. 先找到碎片较少的时间节点 t1，此时导致内存碎片的模块内存大概率未释放，与 400M+ 的碎片节点的日志相比较，找到 `chunk_cnt` 较大的疑似模块 `MSTXAllocator`（`chunk_cnt` 达到 200，即 hold 400M 内存不释放）。
 2. 在 t1 时刻使用命令 `grep MSTXAllocator` 过滤出内存信息，发现该模块频繁申请大量的小块内存（ `hold= 154,539,264 used= 152,699,904 count= 18,936 avg_used= 8,064 block_cnt= 18,936 chunk_cnt= 203 mod=MSTXAllocator`），确定 `MSTXAllocator` 是内存碎片问题的主要元凶。

## 适用版本

OceanBase 数据库所有版本。

Previous

[执行 UDF 报错 -4013](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000008226)

Next

[租户内存模块大小分配简介](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003866905) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
