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 the 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 consisting of three sets of two bits (AABBCC). Each set of two bits determines a different characteristic of the optimizing strategy.

  • The highest two bits (AABBCC) determine whether each processor interval is relatively long or short.

  • The middle two bits (AABBCC) determine whether the length of the interval varies or is fixed.

  • The lowest two bits (AABBCC) determine whether the threads of foreground processes get more processor time than the threads of background processes each time they run.

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 in Windows 2000 Professional, and longer intervals in Windows 2000 Server

01

Longer intervals

10

Shorter intervals

The middle two bits (AABBCC) determine whether the length of processor time varies or is fixed. 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 in Windows 2000 Professional, and fixed-length intervals in 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 get twice the processor time as the threads of background processes each time they are scheduled for the processor.

10 or 11

3:1. The threads of foreground processes get three times the processor time as 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 the processor time as background threads.

On a computer running Windows 2000 Server, the same 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 they 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, select either 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 changed for Windows NT 4.0. For information about this entry before Windows NT 4.0, see the Windows NT 4.0 Resource Kit.