DOCUMENT:Q194648 22-SEP-1999 [sna] TITLE :High CPU Usage Using SNA Server Performance Monitor Counters PRODUCT :Microsoft SNA Server PROD/VER:WINDOWS:3.0,3.0 SP1,3.0 SP2,3.0 SP3,4.0,4.0 SP1 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft SNA Server, versions 3.0, 3.0 SP1, 3.0 SP2, 3.0 SP3, 4.0, 4.0 SP1 ------------------------------------------------------------------------------- SYMPTOMS ======== When you use Performance Monitor to monitor SNA Server throughput, the Performance Monitor process (Perfmon.exe) may cause CPU utilization to reach 100 percent. This behavior was observed when using Performance Monitor to monitor CPU utilization and the number of active TN3270 Server sessions. CPU utilization increased as the number of TN3270 sessions increased. CPU utilization did not approach 100 percent until there were approximately 8,000 active TN3270 sessions. NOTE: This may occur when tracking any of the available SNA Server performance counters, and not just the TN3270 counter mentioned in the scenario cited here. CAUSE ===== The high CPU utilization by the Perfmon.exe process is caused by the following issues related to how SNA Server collects performance data and passes it to Performance Monitor: - The SNA Server Performance Monitor DLL (Snaperf.dll) returns all of the performance data it captures even if Performance Monitor only asks for a subset of the captured data. Snaperf.dll always returns all performance data for connections, links, Response Time Monitor (RTM), and sessions. This can result in a large amount of extraneous data being sent to Performance Monitor at each update interval. - The SNA Server service writes its session performance data on a session- by-session basis, but Performance Monitor requires the data on a LU-by- LU basis, where each LU can have multiple sessions. Each time Performance Monitor calls Snaperf.dll, the required LU-by-LU data is recalculated based on the available session-by-session data. This process is not very efficient and can result in a large amount of processing at each update interval. RESOLUTION ========== Microsoft has confirmed this to be a problem in SNA Server Versions 3.0, 3.0 SP1, 3.0 SP2, 3.0 SP3, 4.0, and 4.0 SP1. We are researching this problem in SNA Server version 3.0 and will post more information here in the Knowledge Base as it becomes available. This problem was corrected in the latest SNA Server version 4.0 U.S. Service Pack. For information on obtaining this Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces): S E R V P A C K Additional query words: ====================================================================== Keywords : Technology : kbAudDeveloper kbSNAServSearch kbSNAServ300 kbSNAServ400 kbSNAServ300SP3 kbSNAServ300SP1 kbSNAServ400SP1 kbSNAServ300SP2 Version : WINDOWS:3.0,3.0 SP1,3.0 SP2,3.0 SP3,4.0,4.0 SP1 Issue type : kbbug ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.