GRAPH.MEMORY
The GRAPH.MEMORY
command returns detailed memory consumption statistics for a specific graph in megabytes (MB). It provides insight into how much memory is used by various internal data structures such as nodes, edges, schemas, indices, and matrix representations. This command can be used to monitor memory consumption at the graph level, making it especially useful for debugging, monitoring, performance optimization, and capacity planning in FalkorDB deployments.
Syntax
GRAPH.MEMORY USAGE <graph-name> [SAMPLES <count>]
Usage: GRAPH.MEMORY USAGE <graph_id> [SAMPLES <count>]
Arguments
Argument | Description |
---|---|
<graph-name> | The name of the graph to inspect (also referred to as <graph_id> ). |
SAMPLES <n> | (Optional) Number of samples to take when estimating memory usage. A higher number improves accuracy but increases computation time. The samples are averaged to estimate the total size. By default, this option is set to 100 if not specified. |
Return
The command returns an array of key-value pairs, where each pair represents a specific memory metric and its value (in MB), corresponding to different components of the graph:
Metric Name / Field | Type | Description |
---|---|---|
total_graph_sz_mb | integer | Total memory consumed by the graph. |
label_matrices_sz_mb | integer | Amount of memory used by label matrices (node labels tracking). |
relation_matrices_sz_mb | integer | Amount of memory used by relationship type matrices (graph topology tracking). |
amortized_node_block_sz_mb | integer | Memory used by nodes (amortized node storage). |
amortized_node_storage_sz_mb | integer | Amount of memory used for nodes storage (alternative naming). |
amortized_node_attributes_by_label_sz_mb | integer | Memory used by node attributes, split by node label. |
amortized_unlabeled_nodes_attributes_sz_mb | integer | Memory used by node attributes with no label. |
amortized_edge_block_sz_mb | integer | Memory used by edges (amortized edge storage). |
amortized_edge_storage_sz_mb | integer | Amount of memory used for relationships storage (alternative naming). |
amortized_edge_attributes_by_type_sz_mb | integer | Memory used by edge attributes, split by relationship type. |
indices_sz_mb | integer | Amount of memory consumed by indices (if any). |
Note: Metrics like amortized_node_block_sz_mb
and amortized_node_storage_sz_mb
are alternative names for the same data; both are included for clarity.
Examples
Basic Usage
GRAPH.MEMORY USAGE myGraph
With Sampling
GRAPH.MEMORY USAGE myGraph SAMPLES 500
Sample Output
127.0.0.1:6379> GRAPH.MEMORY USAGE flights
1) "total_graph_sz_mb"
2) (integer) 1086
3) "label_matrices_sz_mb"
4) (integer) 96
5) "relation_matrices_sz_mb"
6) (integer) 64
7) "amortized_node_storage_sz_mb"
8) (integer) 120
9) "amortized_edge_storage_sz_mb"
10) (integer) 54
11) "indices_sz_mb"
12) (integer) 752