<< Previous Tip > Tips Table < Next Tip >>

Avanti Product Banner

Using the SET Parameter:
Display Relinquish Control Alerts




While first appearances may lead one to believe that this SET Parameter and the information it provides might be of value, this particular SET Parameter is of little use to End Users. In fact, it is most valuable to developers (but only if they really understand what it indicates).

Enabling this SET Parameter will cause NetWare to generate Server Console alerts similar to the following when it determines that a process or thread did not share resources frequently enough:

    mm-dd-yy hh:mm:ss ?m: SERVER-4.10-831
      [Name] Process did not relinquish control frequently.
      Module: [Module Name]
      Code offset in module: [Hex offset]

For NetWare v3, the amount of time which a process may consume before NetWare will identify it as using an excess is defined through the following SET Parameter:

    PSEUDO PREEMPTION TIME
Each unit of time is measured in .84 microseconds increments. The default setting is 2000 with the supported values ranging from 1000 to 10000.

If an NLM fails to relinquish control (i.e., task switch) within the allowed time frame (i.e., Pseudo Preemption Time), NetWare will enforce a task switch during the next file read or write operation performed by the NLM.

In NetWare v3, the Pseudo Preemption Time is tracked by NLM, not globally for all NLMs. Therefore, it is conceivable that multiple NLMs could consume resources just short of the allowed time without triggering a task switch (or an alert) while still severely impacting Server performance.


Beginning with NetWare v4, the SET Parameter Pseudo Preemption Time was replaced with the following:

    PSEUDO PREEMPTION COUNT
Each unit is a file read or write operation performed by the NLM. The default setting is 10 with the supported values ranging from 1 to 4294967295.

If an NLM fails to relinquish control (i.e., task switch) within the allowed file I/O operation count (i.e., Pseudo Preemption Count), NetWare will enforce a task switch during the next file read or write operation performed by the NLM.


To minimize the prospect of multiple NLMs consuming resources just short of the allowed operations without triggering a forced task switch (or an alert), the following SET Parameter was added to NetWare v4:

    GLOBAL PSEUDO PREEMPTION
Enabling this SET Parameter will cause NetWare to track the Pseudo Preemption Counts for all the NLMs, not by NLM. For example, when enabled (set to ON), NetWare will enforce a task switch when the accumulated file I/O operations for all the NLMs reaches the Pseudo Preemption Count.

Some processes which will trigger Console alerts when the SET Parameter Display Relinquish Control Alerts is enabled are: Service xx Processes which are the NetWare threads used to process client requests. Excess resource consumption by Service Processes is not unusual in NetWare v4 due to compression. Improper or too aggressive compression settings can create more problems than the value of the extra disk space it may provide. Moreover, the Console Command process will often fail to relinquish control frequently when loading NLMs, modifying SET Parameters, or performing other commands specific to the Server ':' prompt.

In addition, Anti-Virus, Auditing, and Software Licensing NLMs often hook into the Service Processes. If they do not provide timely processing, it may be masked in the alert due to the report only occurring once the process returns control (which will usually be back in the kernel code, thus pointing to the NOS, not the offending module).

If you really want to know what processes or NLMs may be creating a load on the Server, use the Processor Utilization option in MONITOR (refer to Using Monitor NLM to Identify Process Load for more information).


This document is copyright © 1999 by avanti technology, inc.

<< Previous Tip > Tips Table < Next Tip >>