Copyright © 1997Mark Russinovich | |
Last
Updated January 28, 1998 V1.3
|
|
Introduction | One of
the most annoying characteristics of NT is its lack of support for
tuning various system performance settings such as the foreground and
background process quanta (a quantum is the time-slice, or length of
time a thread will run without being pulled off the CPU for another
thread to run). On NT Server, the quanta are fixed for both foreground
and background processes at 120ms, and on NT Workstation a background
process has a quantum of 20ms, and a foreground process has a quantum of
either 20, 40, or 60ms (the foreground boost slider in the Performance
tab of the System applet in the Control Panel
determines which).
Well, here's a little applet that will let you "frob" the quanta to your liking. The new quanta will immediately be applied to every process in the system and will also affect new processes that are created. See my NT 5 Preview for information on quantum configurability coming in NT 5.0. |
Installation and Use | Frob
only works on NT 4.0 Final Release, SP1, SP2 and SP3. When you start
Frob, it will display the system's current foreground and
background quanta. Simply enter different values and press Apply. Press
Reset to restore the quanta to those that existed at the startup of Frob.
Note that values 0 and greater than 420ms are effectively equal to a
quantum of 10ms, and that Frob does not check against these
ranges. Another way to use Frob, available with Version 1.3, is to specify the foreground and background quantums on the command line: Usage: ntfrob [foreground quantum] [background quantum] |
How It Works | Frob consists of a GUI that communicates with a device driver to directly lookup and frob NT's internal (and otherwise inaccessible) quantum matrix. In addition, it travels the undocumented list of processes and adjusts the quanta they are assigned. When a thread starts a new quantum, it inherits the quantum value from its process. Similarly, when a new process is created, it adopts the quantum setting of its parent. |
|
|