Display Memory Statistics

There are two types of memory statistics tracked in MATRIXX Engine: those related to a specific database and the total system memory allocated and in-use.

About this task

Instead of databases being static in size, they are configured with an initial number of segments, segment sizes, and grow in size as required. If, during runtime, it is determined that more space must be allocated to a database, a new segment is added dynamically from the total system memory pool and made available for use by that database. After space has been allocated to the database, it belongs only to that database until the server is recycled. You can view memory usage statistics for each database by running the print_blade_stats.py script with the -B parameter.

Because database sizes automatically grow when needed, the only statistic that is critical to monitor is the maximum memory pool available and the amount in use. The maximum memory pool represents the total amount of memory that can be allocated among all databases and work buffers in an engine. Memory cannot be returned to the total system memory pool unless a server is restarted. You can view total system memory statistics by running the print_blade_stats.py script with the -Y parameter. There is a low memory threshold that is configurable and when the total available memory reaches this threshold, an SNMP notification is sent.

Procedure

  1. To view statistics on a database's free and used memory, free and used segments, object counts, and OID index statistics, enter the following command.
    print_blade_stats.py -B
  2. To view system memory pool statistics, including the monitoring interval, response time, and amount of used and free memory, enter the following command.
    print_blade_stats.py -Y
    You will see statistics similar to the following:
    Sys Stats
    ---------
            Monitoring                     Response Time                    Memory Pool
              Interval   Processing  Threshold in millis     in use       Max Threshold
    NodeId   (seconds)       Errors        Avg       Max       (MB)      (MB)      (MB)
    ===================================================================================
         1           5            0         60       400       3700     30300       100
    In this example, the total shared memory pool was configured to be 30300 megabytes, and the amount of memory used by the databases and runtime buffers is 3700 megabytes. This leaves 26600 megabytes available for database growth. A notification is sent when the available memory falls to 100 MB.