Submit a ticketCall us

Looking to compare latest NPM features with previous versions of NPM?
The NPM new feature summary offers a comparison of new features and improvements offered with this release.





Home > Success Center > Network Performance Monitor (NPM) > SNMP link utilization

SNMP link utilization

Table of contents

 Updated March 11th, 2016


This document describes how to calculate bandwidth use with Simple Network Management Protocol (SNMP).


  • Orion
  • SNMP
  • Interaces reported via SNMP


  1. Obtain two SNMP walks from the device with the interface you want to calculate utilization for.  The time between walks should be long enough for sufficient traffic to flow, in order to make meaningful calculations.  Fifteen minutes is usually a good interval.
  2. Gather the following information from each SNMP walk:
    • sysUpTime (.
    • ifDescr (. where 'x' is the interface index for the interface in question)
    • ifSpeed (.
    • ifInOctets (.
    • ifOutOctets (.
  3. Use the following formula to determine link utilization:
    • SNMP Link Utilization
    • ( ( (ifInOctets from walk 2) - (ifInOctets from walk 1)  + (ifOutOctets from walk 2) - (ifOutOctets from walk 1)) * 8 * 100 ) / ( ( (sysUpTime from walk 2) - (sysUpTime from walk 1) ) * 100 * ifSpeed )
  4. Here is a text version of the formula above:
    1. Subtract ifInOctets1 (first walk) from ifInOctets2 (second walk).  There are times when ifInOctets from the second walk will be a smaller number than ifInOctets from the first walk.  This happens when the counter "rolls over".  In that case, add 4294967295 to ifInOctets2.
    2. Subtract ifOutOctets1 from ifOutOctets2.
    3. Add the value from step 1 to the value from step 2.
    4. Multiply that number by 800.
    5. Subtract sysUpTime1 from sysUpTime2.
    6. Multiply that number by 100, and then by ifSpeed.
    7. Take the value from step 4, and divide it by the value from step 6.  This is your link utilization.


  • Both walks must be run on the same node (do not try to use numbers from each end of the same link).
  • ifSpeed MUST be identical in both walks.
  • sysUpTime MUST be different in both walks.  If the sysUpTime for the second walk it smaller than the sysUpTime in the first walk, then new walks will be needed.  This value can reset when the node is rebooted, or when daemons or services are restarted.  You can estimate this number if new SNMP walks cannot be performed, but your calculations will be off by whatever factor your time estimation is off.
  • The counter you see on the ifInOctets and ifOutOctets lines MUST be identical in both walks.  It will usually be "COUNTER32".



Last modified
11:32, 7 Mar 2017