Memory Graphs

Memory Usage

This line graph plots the memory usage across all the processes.

Memory Usage.
Figure 1. Memory Usage

Use Case

Regardless of the amount of data in the cache, memory usage often is the maximum of memory set for each Transaction Engine (TE) or Storage Manager (SM) due to internal cache.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Memory: for each TE and SM, the raw HeapAllocated, average

Objects

Objects are atoms in memory. This line graph plots the number of atoms in memory for each TE and SM.

Objects.
Figure 2. Objects

Use Case

Ideally, the number of atoms in the SM is one to two times the number of atoms in the TE, as the SMs have a copy of all the TE’s atoms in memory. However, there could be more objects in the SM as they attempt to cache all disjoint atoms in memory in the TE. Depending on the schema and the working set, the number of atoms in the SM could vary. A higher number of atoms in an SM can be further investigated by reviewing the disk statistics.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Objects: for each SM or TE, the raw number of Objects, average.

Objects Created

This stacked column graph represents the number of atoms created in memory on each TE over time. Each color represents a different TE.

Objects Created.
Figure 3. Objects Created

Use Case

The number of atoms in memory created should be roughly the same on each TE. Otherwise, they are not load-balanced. It is also dependent on the workload. Observe the historical data to spot a change in behavior indicating an issue.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Created: stack for each TE, the rate of ObjectsCreated.

Objects Dropped

This stacked column graph represents the number of atoms dropped from the memory. These atoms may no longer be in memory but could still be in durable storage. Each color represents a different TE or SM.

Objects Dropped.
Figure 4. Objects Dropped

Use Case

The atoms in the memory that are used the least recently may be dropped to make the memory available for new atoms. Each SM or TE is represented in different colors. Ideally, the graph should be almost the same for each TE or SM. No color should dominate.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Dropped: stack for each SM and TE, the rate of ObjectsDropped, average.

The ObjectsDropped metric includes the SM ObjectsPurgedDropped metric.

Loaded/Reloaded

This stacked column graph condenses information for SMs only. It shows the number of atoms in memory in the SMs that are loaded or reloaded from the storage. The top quadrant shows the loaded objects for each SM. The bottom quadrant shows the Reloaded objects or purged state objects loaded from durable storage.

Loaded/Reloaded.
Figure 5. Loaded/Reloaded

Use Case

The Loaded graph indicates the number of atoms being loaded into memory from the disk. The Reloaded graph indicates the number of atoms being retrieved from the disk to SM memory after previously being purged. Ideally, the graph should be almost the same for each SM and no color should dominate.

If reloading of purged atoms in memory happens frequently, it may indicate that SM memory is too small for the workloads in the TEs.

Purged atoms are atoms where the SM memory garbage collection has marked the atom in memory as not being part of a transaction and is currently cached in at least one TE.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Loaded: for each SM and TE, the rate of metric ObjectsLoaded, average

  • Reloaded: for each SM and TE, the rate of metric ObjectsReloaded, average

Purged/PurgedDropped

This stacked column graph condenses information for SMs only. The top quadrant shows the number of ObjectsPurged atoms in memory. ObjectsPurged atoms are where the SM memory garbage collection has marked the atom in memory as not being part of a transaction and is currently cached in at least one TE. The bottom quadrant shows the number of ObjectsPurgedDropped atoms in memory. ObjectsPurgedDropped atoms are where the purged atom is dropped from memory in all SMs and TEs.

Purged/PurgedDropped.
Figure 6. Purged/PurgedDropped

Use Case

If purged atoms in memory are being reloaded at the same rate, that indicates that the SM’s memory is not large enough to handle its workload. Purged atoms in memory should become purged Dropped when the SM memory is more optimally specified. If TEs are dropping frequently and requesting atoms in memory while the application workload remains constant, then performance can likely be improved by adding memory to the TE.

The minimum ratio of purged atoms in TE to SM is 1:1. However, it may increase to 2.5:1 in favor of the SM depending on the workload type. If the SM is experiencing many reloads because of a high write workload, then increasing SM memory may help because the database would not have to reload before write if the SM has to purge fewer atoms.

Graph Creation Details

To create a graph using other tools, use the following details:

  • Purged: stacking each SM, for the rate of metric ObjectsPurged, average

  • PurgeDropped: stacking each SM, for the rate of metric ObjectsDroppedPurged, average

Imported

This stacked column graph plots the number of atoms in memory imported into an SM or a TE.

Imported.
Figure 7. Imported

Use Case

Atoms in memory of a TE and SM will be imported to every other TE and SM. Every TE or SM is represented by a different color. No color should dominate for long. Ideally, this graph should mirror the Exported graph, depending on domain layout and workload.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Imported: Stacking each SM and TE, for the rate of ObjectsImported, average

Exported

This stacked column graph plots the number of atoms in memory exported from an SM or a TE.

Exported.
Figure 8. Exported

Use Case

Atoms in memory of a TE and SM will be exported to every other TE and SM. Every TE or SM is represented by a different color. No color should dominate for long. Ideally, this graph should mirror the Imported graph, depending on domain layout and workload.

Graph Creation Detail

To create a graph using other tools, use the following detail:

  • Exported: Stacking each SM and TE, for the rate of ObjectsExported, average