13.1 Finding CPU Hogs

A CPU hog could be an NLMâ„¢ program that is poorly designed or has become corrupted and, as a result, is using up so many of the server's CPU cycles that other NLM programs are not able to run properly.

CPU hog problems are indicated on the Health Monitor page by a suspect or bad status for the CPU Utilization-x indicator.

To track down a CPU hog:

  1. Under the Diagnose Server heading, click the Profile/Debug link.

  2. Identify the offending thread and Parent NLM.

    1. In the Execution Profile Data by Thread table, note the thread and the Parent NLM that is taking the longest execution time.

    2. To see which tasks the thread is trying to perform, do one of the following:

      • Click the Execution Time value link.
      • Click the Execution Profile Data by NLM link and note and the execution time and module name for the Parent NLM of the first entry. The first entry has the highest execution time. Click the Execution Time value.
  3. Identify which part of the NLM program is causing the problem by looking at the Nearest Symbol information.

    From here you can trace each procedure including the one that is being called most often (indicated by the highest Call Count).

  4. If possible, unload the offending NLM program to see if the problem disappears.