Exporting CPU/memory utilization

From: Peter Phaal (peter.phaal@inmon.com)
Date: 10/22/03

  • Next message: Chitman Kaur: "sflow"

    sFlow version 5 provides a convenient way to export non-traffic related
    parameters like CPU utilization, memory utilization, power supply
    temperature etc.

    sFlow's support of the Entity MIB (RFC 2737) simplifies the export of
    statistics relating to physical entities.

    The following example shows the steps involved in exporting CPU related

    1. First identify the entPhysicalEntry associated with the CPU. This may be
    a "module" if this is a plug-in management module, or it could be the
    "backplane" in a stackable device.

    2. Add an entry in the sFlow MIB sFlowCpTable corresponding the CPU entity.
    This will allow polling of CPU information to be turned on and off and for
    the polling interval to be set.

    3. When polling of the CPU is turned on, export CPU related information in
    the sFlow datagram stream.

    An following data structure provides general CPU information:

      /* Percentage is expressed as a number in the range [0,100]
         If a percentage value is unkown use the value -1.0 */

      typedef float percentage;

      /* Processor Information */
      /* opaque = counter_data; enterprise = 0; format = 1001 */

      struct processor {
        percentage 5s_cpu; /* 5 second average CPU utilization */
        percentage 1m_cpu; /* 1 minute average CPU utilization */
        percentage 5m_cpu; /* 5 minute average CPU utilization */
        unsigned hyper total_memory /* total memory (in bytes) */
        unsigned hyper free_memory /* free memory (in bytes) */

    The Entity MIB provides a great deal of flexibility in modelling the device.
    For example, if there are multiple processor cards, or processors on the
    line cards, then one could create multiple entries in the sFlowCpTable and
    monitor the processor statistics for each entity individually.

    The sFlow version 5 specifications can be found at:


    This archive was generated by hypermail 2.1.4 : 10/22/03 PDT