查询此表提供的信息类似于使用 ALL REPORT MemoryUsage
命令在 ndb_mgm 客户端中获取的信息,或者由 ALL DUMP 1000
记录的信息。
The memoryusage
表包含以下列:
node_id
此数据节点的节点 ID。
memory_type
其中之一为
数据内存
、索引内存
或长消息缓冲区
。used
此数据节点当前用于数据内存或索引内存的字节数。
used_pages
此数据节点当前用于数据内存或索引内存的页数;请参阅文本。
total
此数据节点可用于数据内存或索引内存的总字节数;请参阅文本。
total_pages
此数据节点上可用于数据内存或索引内存的总页数;请参阅文本。
注意
The total
列表示特定数据节点上可用于给定资源(数据内存或索引内存)的总内存量(以字节为单位)。 此数字应与 config.ini
文件中相应配置参数的设置大致相等。
假设集群具有 2 个数据节点,其节点 ID 为 5
和 6
,并且 config.ini
文件包含以下内容:
[ndbd default]
DataMemory = 1G
IndexMemory = 1G
假设 LongMessageBuffer
配置参数的值允许取其默认值(64 MB)。
以下查询显示了大致相同的值:
mysql> SELECT node_id, memory_type, total
> FROM ndbinfo.memoryusage;
+---------+---------------------+------------+
| node_id | memory_type | total |
+---------+---------------------+------------+
| 5 | Data memory | 1073741824 |
| 5 | Index memory | 1074003968 |
| 5 | Long message buffer | 67108864 |
| 6 | Data memory | 1073741824 |
| 6 | Index memory | 1074003968 |
| 6 | Long message buffer | 67108864 |
+---------+---------------------+------------+
6 rows in set (0.00 sec)
在这种情况下,索引内存的 total
列值略高于 IndexMemory
的设置值,这是由于内部舍入造成的。
对于 used_pages
和 total_pages
列,资源以页为单位进行衡量,对于 DataMemory
,页大小为 32K,对于 IndexMemory
,页大小为 8K。 对于长消息缓冲区内存,页大小为 256 字节。