SNMP Counter Values Are Unreliable in SMP ComputersLast reviewed: November 13, 1997Article ID: Q146004 |
The information in this article applies to:
SYMPTOMSWindows NT simple network management protocol (SNMP) counters, such as output queue length, may yield unlikely results in symmetric multiprocessor (SMP) computers. The SNMP counters can be viewed using Snmputil.exe from the Windows NT Resource Kit, or Performance Monitor using the Network Interface object. For example:
snmputil getnext <server> public 2.2.1.21.1 Variable = interfaces.ifTable.ifEntry.ifOutQLen.2 Value = Gauge - 3749NOTE: In normal operation, the output queue length counter should rarely rise above zero, when it does, it should return to zero very quickly.
CAUSEThis problem occurs because Windows NT TCP/IP does not use interlocked operations to maintain its statistics counters. The SNMP counters are maintained in the TCP/IP code. In the case of output queue length, the counter is incremented every time a packet is indicated to NdisSend(), and decremented when NDIS completes the send successfully by returning a status of success, or returning status pending and later calling ARPSendComplete(). Because spinlocks are not used in this code to guarantee the integrity of the counters, SMP computers can affect the counter values during retrieval, causing unlikely values to be reported. The decision to not implement spinlocks to guarantee the integrity of the SNMP counters is based on performance concerns and will not be changed.
STATUSSpinlocks were left out of the TCP/IP code for counter operations intentionally for performance reasons. This will not be fixed. Keywords : kbbug3.51 NTSrv nttcp kbnetwork Version : WinNT:3.5,3.51,4.0 Platform : winnt Issue type : kbbug |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |