Use BindCPU utility to bind processes to specific CPUs

On multi-processor machines 24x7 by default binds itself to the first CPU.  In certain situations scheduled processes can inherit the binding and also run using the first CPU only. If you want to explicitly bind process to a specific CPU you can use the BindCPU utility. For example if you want to schedule Notepad to run on the second CPU you would schedule the BindCPU 2 "C:\WinNT\Notepad.exe"

Two versions of BindCPU are available: BindCPU starts the specfied process and immediatelly exits returning control back to the system. BindCPUw starts the specified process and waits for that process to complete before returning control back to the system. BindCPUw also returns exit of the specified process.

DownloadDownload BindCPU.exe  (16 KB). DownloadDownload BindCPUw.exe  (16 KB).

Usage: BindCPU [affinity mask] [program name] [optional parameter 1] [optional parameter 2] ...
or BindCPUw [affinity mask] [program name] [optional parameter 1] [optional parameter 2] ...

Command line parameters:

affinity mask CPU Affinity Mask

Affinity Masks:
CPU # Mask


0 1
1 2
2 4
3 8
4 16
5 32

and so on...

Example Masks

Please note that CPU numbers are zero-based. To run a process using third CPU only use mask 4. To run a process using first and second CPUs use mask 3, which is a sum of 1 + 2. To run a process using third and forth CPUs use mask 12, which is a sum of 4 + 8. To run a process using first 4 CPUs use mask 15, which is a sum of 1 + 2 + 4 + 8.
program name Full name of the program that you want to start including path. If the name or path include spaces enclose the full name in double quotes.
optional parameters Optional command line parameters that you want to pass to the specified program.

Run BindCPU.exe without parameters from the DOS command prompt to see full description of the supported parameters.