eG Monitoring
 

Measures reported by NSMemTest

For a NetScaler appliance to perform smoothly, the memory utilization of the NetScaler appliance should be optimal. Though high memory utilization may at times indicate that the appliance is running out of resources, it may also indicate other severe issues relating to memory. For example, when the same memory block is freed from a memory pool more than once, the the data in that memory block will be corrupted. If issues such as these are not detected at the earliest and rectified, data corruption may occur in most of the memory blocks leading to the performance degradation of the NetScaler appliance. To avoid such performance degradation due to memory related issues, administrators can use the NSMemTest test.

This test proactively monitors the memory of the NetScaler appliance and reports the number of times bad memory was freed, the number of times duplicate memory was freed and the number of times memory was freed from a wrong memory pool. This way, administrators can figure out if there are impending issues with the memory and resolve it before serious data corruption leading to the downgrade of the NetScaler appliance occurs.

For this test to run and report metrics, the NetScaler device should be configured to create a Syslog file in a remote Syslog server, where the details of all interactions with the NetScaler appliance will be logged. To know how to configure the Syslog server where this Syslog file should be created, Click here.

Outputs of the test : One set of results for the NetScaler appliance being monitored

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
bad_memory_freed Indicates the number of times bad memory was freed. Number  
duplicate_memory_free Indicates the number of times duplicate memory was freed i.e., the number of times the same memory block was freed twice. Number When a memory is freed, the memory is returned to the memory pool from which it was allocated. This memory can be used by some other resources. If the same memory is freed again and in the meantime is allocated to another resource, then it indicates that the same memory is allocated to multiple uses and once the second memory free command is received, data in the memory block will be corrupted. A high value for this measure is therefore a cause of concern.
wrong_pool_mem_free Indicates the number of times memory was freed from a wrong pool. Number A high value for this measure is a cause of concern as this may indicate severe data corruption.