Hardware

Use System Configuration Tool to specify runtime number of processors

For Windows Servers, it is sometimes necessary to configure the number of processors in use by the OS. Learn how and when to use the configuration tool.

Most versions of Windows Server have the System Configuration Tool, which shows a number of configuration items for the local system. I've used this utility to step-down processors on a Windows Server.

System Configuration (or msconfig.exe) has a Boot tab that allows an interactive edit of the Boot.INI file. By clicking the Advanced Options button, you edit the number of processors that are visible to the operating system on boot. In the following example, the server has one physical processor with four cores. Figure A shows the system running the System Configuration Tool. Figure A

Click the image to enlarge.

Here I can step the system down from the current inventory of visible processors (four) to any number less than that.

This is useful for one main reason: determining if lesser performance is acceptable on a system to conserve resources. In a virtualized environment, this is pretty straightforward, as you would provision processors to the virtual machine upward or downward. For physical systems, this can save unnecessary handling of the internal parts of the server and sensitive processor components. By using the System Configuration Tool, you can quickly step down to a fewer number of processors on the system via a soft configuration. The System Configuration Tool will not distinguish between sockets and cores, however; you may need to intervene to the server's BIOS to limit cores or hyperthreading.

Note: In most situations, using the System Configuration Tool to specify a limited number of processors is not an acceptable licensing workaround for per-processor situations. Consult your licensing professional for guidance on how to downsize processors for a system if necessary.

Check out a few of the System Configuration Tool's other options. While the processor limit is not very fancy, other options such as startup services and applications are available. This is a good first-line tool if the more robust Autoruns SysInternal tool is not installed on the server.

Stay on top of the latest Windows Server 2003 and Windows Server 2008 tips and tricks with our free Windows Server newsletter, delivered each Wednesday.

Automatically sign up today!

About

Rick Vanover is a software strategy specialist for Veeam Software, based in Columbus, Ohio. Rick has years of IT experience and focuses on virtualization, Windows-based server administration, and system hardware.

8 comments
blarman
blarman

So can someone provide a real scenario where this might be useful? I see it as something to play with if one were REALLY bored (as if) ...

The 'G-Man.'
The 'G-Man.'

Question: This can save unnecessary handling of the internal parts of the server and sensitive processor components, OK But... The System Configuration Tool will not distinguish between sockets and cores, however. So, why bother as you have no idea what 'processor' or 'core' it decides not to use or even if it decides to randomly use both resources but just less.

Jacques.Gordon
Jacques.Gordon

Let's say your server has 8 cores and you want to run a virtual machine that's going to be assigned 4 cores. Then you would set this to four as you would have 4 left for your physical system and you could then test how it works with only 4 cores.

b4real
b4real

Primarily you can do this to see if a lesser # of processors is adequate (good for virtual machines and test for licensing). The other use case is to fit a support model, i.e. "Pain in my posterior application #1" doesn't support more than 1 processor or something.

gechurch
gechurch

Running a physical machine with only four cores available doesn't take into account the overhead of the host (which is usually somewhere around 10% for anything hypervisor-based), and the configuration settings. I'm with G-man's earlier comment here - if you want to know how the VM will behave with four cores, run the VM with four cores assigned. I recall reading once about how it is possible for programs to run more slowly (by a large factor) when running on multiple CPUs that when run on single. I guess that would also be a possible use for this method, but I again question it's usefulness. I would use Task Manager to set the processes affinity rather than blanket turning off additional cores.

The 'G-Man.'
The 'G-Man.'

good for virtual machines - how so as I define that elsewhere in my VM application of choice. and test for licensing - as it states in the artice that is not a valid use. Pain in my posterior application #1" doesn't support more than 1 processor - perhaps but then why not just have it in a VM in the first place?

KevBoyle
KevBoyle

I actually had to use this technique to allow me to install SQL 2005 on a particular server, as per the following KB article: http://support.microsoft.com/kb/954835/en-us. None of the other suggestions offered did anything, except the one to boot with just one processor, although I agree that it's not something I would use to test VM performance.