Win32PrioritySeparation

HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl

Data type Range Default value
REG_DWORD 0x0 - 0x3F (111111 binary) 0x2 (000010 binary)

Description

Specifies the strategy used for optimizing processor time on this system. The value of this entry determines, in part, how much processor time the threads of a process receive each time they are scheduled, and how much the allotted time can vary. It also affects the relative priority of the threads of foreground and background processes.

The value of this entry is a 6-bit bitmask comprised of three sets of two bits (AABBCC). Each two-bit set determines a different characteristic of the optimizing strategy.

The values of the bits are as follows:

The highest two bits (AABBCC) determine how long the threads of processes are permitted to run each time they are scheduled. This interval is specified as a range because threads can be preempted and processor time is not precisely determined.

Values of the highest two bits:

Value Meaning
00 or 11 Shorter intervals (Windows 2000 Professional), Longer intervals (Windows 2000 Server
01 Longer intervals
10 Shorter intervals
 

The middle two bits (AABBCC) determine whether the length of processor time is fixed (always the same length) or varies. It also determines whether the threads of foreground processes have longer processor intervals than those of background processes. If the processor interval is fixed, that interval applies equally to the threads of foreground and background processes. If the processor interval varies, the length of time each thread runs varies, but the ratio of processor time of foreground threads to background threads is fixed.

If a variable interval is specified, the ratio of foreground thread processor time to background thread processor time is determined by the value of the lowest set of bits.

Values of the middle two bits:

Value Meaning
00 or 11 Variable-length intervals (Windows 2000 Professional), Fixed-length intervals (Windows 2000 Server)
01 Variable-length intervals
10 Fixed-length intervals
 

The lowest two bits (AABBCC) determine the ratio of processor time of foreground to background threads. This value is used only when the middle two bits in this mask specify a variable-length interval. Otherwise, the processor interval for foreground and background threads is the same.

Values of the lowest two bits:

Value Meaning
00 Equal and fixed. The threads of foreground processes get the same amount of processor time as the threads of background processes and as the threads of processes with a priority class of Idle. Also, the processor interval is fixed. This value overrides the specification of a variable-length interval in the middle two bits.
01 2 : 1. The threads of foreground processes twice as much processor time than the threads of background processes each time they are scheduled for the processor.
10 or 11 3 : 1. The threads of foreground processes three times as much processor time than the threads of background processes each time they are scheduled for the processor.
 

Please note that the same value is interpreted differently on a computer running Windows 2000 Professional than on one running Windows 2000 Server.

For example, on a computer running Windows 2000 Professional, the default value, 2 (000010) specifies shorter, variable intervals, in which foreground threads get three times as much processor time as background threads.

On a computer running Windows 2000 Server, the default value, 2 (000010) specifies longer, fixed intervals, in which foreground and background threads get the same amount of processor time each time they run.

These strategies optimize foreground processes on a workstation and accommodate the needs of processor-intensive services on a server.

 

Change method

To change the value of this entry, in Control Panel, double-click System, click the Advanced tab, click Performance Options and then, in the Application response section, click Applications or Background services.

Clicking Applications sets the value of this entry to 100110, and provides for short, variable length processor intervals in which foreground processes get three times as much processor time as do background processes.

Clicking Background services sets the value of this entry to 011000, and provides for longer, fixed-length processor intervals in which foreground processes and background processes get equal processor priority.

Tip Image Tip

The meaning and use of this entry have changed for Windows NT 3.51, Windows NT 4.0, and Windows 2000. For information about this entry in Windows NT 4.0 and earlier, consult the Windows NT Resource Kit 4.0.