Smarts IP 7.0.2/7.0.3 Patch 1-16: How are Cisco IOS XR memory and voltage alarms calculated?
search cancel

Smarts IP 7.0.2/7.0.3 Patch 1-16: How are Cisco IOS XR memory and voltage alarms calculated?


Article ID: 304278


Updated On:





How does Smarts IP calculate Cisco IOS XR memory and voltage alarms?

Receiving Smarts IP Memory alarms for InsufficientFreeMemory
Receiving Smarts IP alarms for VoltageSensor OutOfRange


VMware Smart Assurance - SMARTS


The following sections of this Fix statement explain how Smarts IP for the versions specified above (see Note statement) calculates alarms for InsufficientFreeMemory and VoltageSensor OutOfRange.

Smarts IP InsufficientFreeMemory Memory alarms
To calculate InsufficientFreeMemory alarms, Smarts does the following:

  1. Smarts first polls for cempMemPoolFree and cempMemPoolUsed as follows:

           = " (to get FreeMemory)
        = cempMemPoolFree / 1024 (to refine computed FreeMemory)

            = " (to get TotalMemory)
       = (cempMemPoolUsed + cempMemPoolFree) / 1024; (to refine computed TotalMemory)

  2. The FreeMemory and TotalMemory values are used to derive the refine computed FreeMemoryPct, which is the percentage of free memory of the total memory:

     = TotalMemory > 0 ?
       (double(FreeMemory) * 100.0 / double(TotalMemory) ) : 100.0
       else 0.0;

  3. The FreeMemoryPct is now used to derive the InsufficientFreeMemory event. This event indicates that the system is running out of the memory resources and the percentage of free memory is below the FreeMemoryThreshold value. The FreeMemoryThreshold is the value set for the SystemResourceGroups of the Smarts GUI Threshold tab.

     = if  FreeMemoryThreshold > 0
       check FreeMemoryPct < FreeMemoryThreshold ""
      TotalBufferAllocationFailures > 0;

VoltageSensor OutOfRange alarms
To calculate VoltageSensor OutOfRange alarms, Smarts does the following:

  1. To derive at OutofRange events, Smarts first polls for the following entSensorValue and entSensorStatus OIDs of the IOSXR/Cisco Entity MIB:

    entSensorValue  = "
    entSensorStatus = "

  2. To refine the computed CurrentValue being computed from entSensorValue:

    CurrentValue = entSensorValue/1000.0

  3. The HighThreshold and LowThreshold values are computed from RelativeVoltageThreshold, VoltageSensorHighThreshold and VoltageSensorLowThreshold values which are set it in Threshold tab in the Smarts GUI:

    refine computed HighThreshold
     = (1 - RelativeVoltageThreshold/100) *
    refine computed LowThreshold
     = (1 + RelativeVoltageThreshold/100) *
    refine OutOfRange_attributes
              return "LIST -    Status "
               "     VOLT HighThreshold "
               "      VOLT LowThreshold "           
               "     VOLT CurrentValue "
               "     PCT  RelativeVoltageThreshold "
               "     -    entSensorValue ";

  4. Once the OutOfRange attributes are computed, Smarts computes the OutOfRange event as follows:

    event OutOfRange
     "Indicates that the voltage for this device is outside of the normal "
     "operating range and exceeds RelativeVoltageThreshold."
     = if    ValidThresholds && Status != VoltageSensor::SHUTDOWN
              check ValidValue &&
          ((IsPositiveVoltage &&
            (CurrentValue > HighThreshold "" CurrentValue < LowThreshold))
       "" (!IsPositiveVoltage &&
            (CurrentValue < HighThreshold "" CurrentValue > LowThreshold)));

Additional Information

For this question and issue in Smarts IP environments running Smarts IP 7.0.3 Patch 17 and later, see 13338 .