Copyright © 1997-1999 Mark Russinovich | |
Last Updated Jul 19,1998 v1.5 |
|
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, SP3, SP4 and SP5. 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.4, 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. |