Querying this table provides information similar to that
provided by the ALL REPORT MemoryUsage
command in the ndb_mgm client, or logged by
ALL DUMP 1000.
The following table provides information about the columns in
the memoryusage table in MySQL Cluster NDB
7.1.3 and later. For each column, the table shows the name, data
type, and a brief description. Additional information can be
found in the notes following the table.
| Column Name | Type | Description |
|---|---|---|
node_id | integer | The node ID of this data node. |
memory_type | string | One of Data memory or Index
memory. |
used | integer | Number of bytes currently used for data memory or index memory by this data node. |
used_pages | integer | Number of pages currently used for data memory or index memory by this data node; see text. |
total | integer | Total number of bytes of data memory or index memory available for this data node; see text. |
total_pages | integer | Total number of memory pages available for data memory or index memory on this data node; see text. |
The total column represents the total amount
of memory in bytes available for the given resource (data memory
or index memory) on a particular data node. This number should
be approximately equal to the setting of the corresponding
configuration parameter in the config.ini
file.
Suppose that the cluster has 2 data nodes having node IDs
1 and 2, and the
config.ini file contains the following:
[ndbd default] DataMemory = 100M IndexMemory = 100M
The following query shows approximately the same values:
mysql>SELECT node_id, memory_type, total>FROM ndbinfo.memoryusage;+---------+--------------+-----------+ | node_id | memory_type | total | +---------+--------------+-----------+ | 1 | Data memory | 104857600 | | 1 | Index memory | 105119744 | | 2 | Data memory | 104857600 | | 2 | Index memory | 105119744 | +---------+--------------+-----------+ 4 rows in set (0.30 sec)
In this case, the total column values for
index memory are slightly higher than the value set of
IndexMemory due to
internal rounding.
For the used_pages and
total_pages columns, resources are measured
in pages, which are 32K in size for
DataMemory and 8K for
IndexMemory.
MySQL Cluster NDB 7.1.2 and earlier.
The the remainder of this section provides information about
the memoryusage table as implemented prior
to MySQL Cluster NDB 7.1.3. (If you are using MySQL Cluster
NDB 7.1.3 or later, refer to the beginning of this section.)
For each column, the table shown here provides the name, data
type, and a brief description. Additional information can be
found in the notes following the table.
| Column Name | Type | Description |
|---|---|---|
node_id | integer | The node ID of this data node. |
memory_type | string | One of Data memory or Index memory |
used | integer | Number of memory pages used; see text. |
max | integer | Total number of memory pages available; see text. |
For the used and max
columns, resources are measured in pages, which (in MySQL
Cluster NDB 7.1.2 and earlier) are 16K in size for
DataMemory and 8K for
IndexMemory. This
example shows how to use this information in obtaining totals
for DataMemory,
IndexMemory, or both,
which you can do by summing across data nodes and table columns,
like this:
mysql>USE ndbinfo;Database changed mysql>SET @IPAGE := 8 * 1024;Query OK, 0 rows affected (0.03 sec) mysql>SET @DPAGE := 2 * @IPAGE;Query OK, 0 rows affected (0.00 sec) mysql>SELECT->@DPAGE * SUM(used) as 'Total DataMemory Used',->@DPAGE * SUM(max) as 'Total DataMemory Available',->@DPAGE * SUM(used) DIV COUNT(*) as 'Average DataMemory Used Per Node',->@DPAGE * SUM(max) DIV COUNT(*) as 'Average DataMemory Available Per Node'->FROM memoryusage WHERE memory_type = 'Data memory'\G*************************** 1. row *************************** Total DataMemory Used: 106102784 Total DataMemory Available: 209977344 Average DataMemory Used Per Node: 53051392 Average DataMemory Available Per Node: 104988672 1 row in set (0.34 sec) mysql>SELECT->@IPAGE * SUM(used) as 'Total IndexMemory Used',->@IPAGE * SUM(max) as 'Total IndexMemory Available',->@IPAGE * SUM(used) DIV COUNT(*) as 'Average IndexMemory Used Per Node',->@IPAGE * SUM(max) DIV COUNT(*) as 'Average IndexMemory Available Per Node'->FROM memoryusage WHERE memory_type = 'INDEX_MEMORY'\G*************************** 1. row *************************** Total IndexMemory Used: 376832 Total IndexMemory Available: 210239488 Average IndexMemory Used Per Node: 188416 Average IndexMemory Available Per Node: 105119744 1 row in set (0.33 sec)
(We use DIV rather than /
in both queries so that the results in all of the output columns
are integers.)
Prior to MySQL Cluster NDB 7.1.2, the
memory_type column was named
DATA_MEMORY. (Bug #50926)

User Comments
Add your own comment.