Submit a ticketCall us

AnnouncementsTHWACKcamp 2018 is here

2018 is the seventh year for THWACKcamp™, and once again we’ll be live October 17 – 18 with packed session tracks covering everything from network monitoring and management, to change control, application management, storage, cloud and DevOps, security, automation, virtualization, mapping, logging, and more.

Register for online sessions.

Home > Success Center > Network Performance Monitor (NPM) > NPM - Knowledgebase Articles > 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