---
title: OceanBase 数据库预设资源监控点 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库预设资源监控点 相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库预设资源监控点 的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库预设资源监控点

更新时间：2023-11-14 03:16

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：TechNote  

在 OceanBase 数据库的运维工作中，需要对剩余资源进行预设。本文主要介绍 OceanBase 数据库预设资源的监控点。

## 适用版本

OceanBase 数据库所有版本

## 资源监控点

一般情况下，需要为 OceanBase 集群预留 1/N 的系统资源，其中 N 为单个 Zone 中 OBServer 的数量。例如 3-3-3 集群中，需要预留的系统资源为 1/3。

集群资源的监控点包含以下几项：

- 单 OBServer 的 CPU、内存与数据文件大小均需要预留 1/N 的资源。

     - 检查 OBServer 的 CPU 与 内存是否预留足够资源。

      其中 `CPU_PER` 表示使用 CPU 的百分比，`MEM_PER` 表示使用内存的百分比。

      ```unknow
      obclient> SELECT ZONE,SVR_IP,CPU_TOTAL,CPU_ASSIGNED,
      ROUND(CPU_ASSIGNED_PERCENT,2) CPU_PER,ROUND(MEM_TOTAL/1024/1024/1024,2) MEM_TOTAL_GB,
      ROUND(MEM_ASSIGNED/1024/1024/1024,2) MEM_ASS_GB,MEM_ASSIGNED_PERCENT MEM_PER,
      UNIT_NUM,LEADER_COUNT
      FROM __ALL_VIRTUAL_SERVER_STAT ORDER BY MEM_PER DESC;
      +-------+----------------+-----------+--------------+---------+--------------+------------+---------+----------+--------------+
      | ZONE  | SVR_IP         | CPU_TOTAL | CPU_ASSIGNED | CPU_PER | MEM_TOTAL_GB | MEM_ASS_GB | MEM_PER | UNIT_NUM | LEADER_COUNT |
      +-------+----------------+-----------+--------------+---------+--------------+------------+---------+----------+--------------+
      | zone3 | xxx.xx.xxx.xxx |        62 |          2.5 |       4 |        30.00 |       7.50 |      25 |        1 |            0 |
      | zone1 | xxx.xx.xxx.xxx |        62 |          2.5 |       4 |        30.00 |       7.50 |      25 |        1 |         1227 |
      | zone2 | xxx.xx.xxx.xxx |        62 |          2.5 |       4 |        30.00 |       7.50 |      25 |        1 |            0 |
      +-------+----------------+-----------+--------------+---------+--------------+------------+---------+----------+--------------+
      3 rows in set (0.00 sec)

      ```
     - 检查数据文件大小。

      其中 `TABLE_SIZE_GB` 表示数据文件大小。

      ```unknow
      obclient> SELECT /*+READ_CONSISTENCY(WEAK),QUERY_TIMEOUT(100000000)*/
      A.ZONE,A.SVR_IP,ROUND(SUM(A.DATA_SIZE) / 1024 / 1024 / 1024, 2) TABLE_SIZE_GB
      FROM __ALL_VIRTUAL_META_TABLE A, __ALL_VIRTUAL_TABLE B, __ALL_TENANT C
      WHERE INSTR(A.MEMBER_LIST, A.SVR_IP)>0
      AND A.TENANT_ID = B.TENANT_ID
      AND A.TABLE_ID = B.TABLE_ID
      AND B.TENANT_ID = C.TENANT_ID
      GROUP BY A.ZONE,A.SVR_IP
      ORDER BY A.ZONE,A.SVR_IP, TABLE_SIZE_GB DESC;
      +-------+----------------+---------------+
      | ZONE  | SVR_IP         | TABLE_SIZE_GB |
      +-------+----------------+---------------+
      | zone1 | xxx.xx.xxx.xxx |          15.27 |
      | zone2 | xxx.xx.xxx.xxx |          15.28 |
      | zone3 | xxx.xx.xxx.xxx |          14.93 |
      +-------+----------------+---------------+
      3 rows in set (0.03 sec)

      ```
     - 检查磁盘使用率。

      其中 `USED_PERCENT` 表示磁盘使用百分比。

      ```unknow
      obclient> SELECT /*+READ_CONSISTENCY(WEAK),QUERY_TIMEOUT(100000000)*/
      B.ZONE, A.SVR_IP,A.SVR_PORT,B.WITH_ROOTSERVER,
      ROUND(A.TOTAL_SIZE/1024/1024/1024,0) AS TOTAL_GB,
      ROUND(A.FREE_SIZE/1024/1024/1024,0) AS FREE_GB,
      ROUND((A.TOTAL_SIZE-A.FREE_SIZE)/1024/1024/1024,0) AS USED_GB,
      (A.TOTAL_SIZE-A.FREE_SIZE)/A.TOTAL_SIZE AS USED_PERCENT
      FROM __ALL_VIRTUAL_DISK_STAT A, __ALL_SERVER B
      WHERE A.SVR_IP=B.SVR_IP AND A.SVR_PORT=B.SVR_PORT
      ORDER BY B.ZONE,USED_PERCENT DESC;
      +-------+----------------+----------+-----------------+----------+---------+---------+--------------+
      | ZONE  | SVR_IP         | SVR_PORT | WITH_ROOTSERVER | TOTAL_GB | FREE_GB | USED_GB | USED_PERCENT |
      +-------+----------------+----------+-----------------+----------+---------+---------+--------------+
      | zone1 | xxx.xx.xxx.xxx |     2882 |               1 |      167 |     167 |       0 |       0.0014 |
      | zone2 | xxx.xx.xxx.xxx |     2882 |               0 |      167 |     167 |       0 |       0.0014 |
      | zone3 | xxx.xx.xxx.xxx |     2882 |               0 |      167 |     167 |       0 |       0.0014 |
      +-------+----------------+----------+-----------------+----------+---------+---------+--------------+
      3 rows in set (0.01 sec)

      ```
 - 集群中分区数量之和不大于 3 万。
 - 单 OBServer 的线程数与租户的资源单元中的 `min_cpu` 与 `max_cpu` 相关，如果已经为单 OBServer 预留了 1/N 的 CPU，则该检查点可以忽略。
 - 单 OBServer 操作系统的网络吞吐量、磁盘的 MBPS 与 IOPS 与 CPU 荷载量。

     - 网络吞吐量：通过 `tsar` 命令检查。
     - 磁盘 MBPS 与 IOPS：通过 `io_stat` 命令检查。
     - CPU 荷载：通过 `top` 命令检查。

上一篇

[OceanBase 数据库故障恢复相关问题 FAQ](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003029993)

下一篇

[OceanBase 数据库如何通过 TraceID 查到对应的 OBServer 主机](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209992) ![有帮助](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) 咨询热线
